Whole mess'o'changes.. see individual files
arch/alpha/vtophys.cc:
Removed buggy code that tries to fix PAL addresses (may cause problems
while trying to debug in PAL code, but that should do this fix outside
of vtophys)
base/loader/symtab.cc:
base/loader/symtab.hh:
cpu/exetrace.cc:
Changed InstExec traces to always print a symbol name
dev/ide_ctrl.cc:
dev/ide_disk.cc:
Tabs
dev/ide_disk.hh:
Change buffer size
dev/tsunami_pchip.cc:
Fix translatePciToDma to support scatter gather mapping
kern/linux/linux_system.cc:
Force simulator to wait until remote debugger attaches (should be removed
or turned on/off with a flag)
--HG--
extra : convert_revision : 1d08aebe3f448c87a963dd613de3e2e0cff0d48d
This commit is contained in:
@@ -55,8 +55,9 @@ using namespace std;
|
||||
|
||||
IdeDisk::IdeDisk(const string &name, DiskImage *img, PhysicalMemory *phys,
|
||||
int id, int delay)
|
||||
: SimObject(name), ctrl(NULL), image(img), physmem(phys), dmaTransferEvent(this),
|
||||
dmaReadWaitEvent(this), dmaWriteWaitEvent(this), dmaPrdReadEvent(this),
|
||||
: SimObject(name), ctrl(NULL), image(img), physmem(phys),
|
||||
dmaTransferEvent(this), dmaReadWaitEvent(this),
|
||||
dmaWriteWaitEvent(this), dmaPrdReadEvent(this),
|
||||
dmaReadEvent(this), dmaWriteEvent(this)
|
||||
{
|
||||
diskDelay = (delay * ticksPerSecond / 1000) / image->size();
|
||||
@@ -379,8 +380,9 @@ IdeDisk::dmaWriteDone()
|
||||
}
|
||||
|
||||
// copy the data to memory
|
||||
Addr dmaAddr =
|
||||
ctrl->tsunami->pchip->translatePciToDma(curPrd.getBaseAddr());
|
||||
Addr dmaAddr = ctrl->tsunami->pchip->
|
||||
translatePciToDma(curPrd.getBaseAddr());
|
||||
|
||||
memcpy(physmem->dma_addr(dmaAddr, curPrd.getByteCount()),
|
||||
(void *)dataBuffer, curPrd.getByteCount());
|
||||
|
||||
@@ -665,7 +667,9 @@ IdeDisk::updateState(DevAction_t action)
|
||||
cmdReg.status |= STATUS_DRQ_BIT;
|
||||
|
||||
// put the first two bytes into the data register
|
||||
memcpy((void *)&cmdReg.data0, (void *)dataBuffer, sizeof(uint16_t));
|
||||
memcpy((void *)&cmdReg.data0, (void *)dataBuffer,
|
||||
sizeof(uint16_t));
|
||||
|
||||
// copy the data into the data buffer
|
||||
if (curCommand == WIN_IDENTIFY)
|
||||
memcpy((void *)dataBuffer, (void *)&driveID,
|
||||
@@ -753,7 +757,9 @@ IdeDisk::updateState(DevAction_t action)
|
||||
break;
|
||||
|
||||
case Transfer_Data_Out:
|
||||
if (action == ACT_DATA_WRITE_BYTE || action == ACT_DATA_WRITE_SHORT) {
|
||||
if (action == ACT_DATA_WRITE_BYTE ||
|
||||
action == ACT_DATA_WRITE_SHORT) {
|
||||
|
||||
if (action == ACT_DATA_READ_BYTE) {
|
||||
panic("DEBUG: WRITING DATA ONE BYTE AT A TIME!\n");
|
||||
} else {
|
||||
@@ -863,7 +869,8 @@ END_INIT_SIM_OBJECT_PARAMS(IdeDisk)
|
||||
|
||||
CREATE_SIM_OBJECT(IdeDisk)
|
||||
{
|
||||
return new IdeDisk(getInstanceName(), image, physmem, driveID, disk_delay);
|
||||
return new IdeDisk(getInstanceName(), image, physmem, driveID,
|
||||
disk_delay);
|
||||
}
|
||||
|
||||
REGISTER_SIM_OBJECT("IdeDisk", IdeDisk)
|
||||
|
||||
Reference in New Issue
Block a user