Added ULL for 64bit ints
Added function to skip determine_cpu_caches(). We may have to update this in the
future: see note below.
arch/alpha/alpha_memory.cc:
dev/ide_ctrl.cc:
dev/tsunamireg.h:
Added ULL for 64bit ints
kern/linux/linux_system.cc:
Added a function to skip determine_cpu_caches, right now it is only used for
printing in proc, however in the future we may either want to implement the SC_CTL
IPR register or manually set alpha_l1i_cacheshape, alpha_l1d_cacheshape,
alpha_l2_cacheshape, alpha_l3_cacheshape to ((size << 10) | (linesize>>1)<<4 | way)
kern/linux/linux_system.hh:
added event to skip determine_cpu_caches()
--HG--
extra : convert_revision : 1065f2091bbe6832b730af490f5b4672c2afedce
This commit is contained in:
@@ -331,9 +331,9 @@ AlphaItb::translate(MemReqPtr &req) const
|
||||
// sign extend the physical address properly
|
||||
if (req->paddr & PA_UNCACHED_BIT_39 ||
|
||||
req->paddr & PA_UNCACHED_BIT_40)
|
||||
req->paddr |= 0xf0000000000;
|
||||
req->paddr |= 0xf0000000000ULL;
|
||||
else
|
||||
req->paddr &= 0xffffffffff;
|
||||
req->paddr &= 0xffffffffffULL;
|
||||
|
||||
} else {
|
||||
// not a physical address: need to look up pte
|
||||
@@ -520,9 +520,9 @@ AlphaDtb::translate(MemReqPtr &req, bool write) const
|
||||
// sign extend the physical address properly
|
||||
if (req->paddr & PA_UNCACHED_BIT_39 ||
|
||||
req->paddr & PA_UNCACHED_BIT_40)
|
||||
req->paddr |= 0xf0000000000;
|
||||
req->paddr |= 0xf0000000000ULL;
|
||||
else
|
||||
req->paddr &= 0xffffffffff;
|
||||
req->paddr &= 0xffffffffffULL;
|
||||
|
||||
} else {
|
||||
if (write)
|
||||
|
||||
@@ -291,7 +291,7 @@ IdeController::WriteConfig(int offset, int size, uint32_t data)
|
||||
pioInterface->addAddrRange(pri_cmd_addr,
|
||||
pri_cmd_addr + pri_cmd_size - 1);
|
||||
|
||||
pri_cmd_addr = ((pri_cmd_addr | 0xf0000000000) & PA_IMPL_MASK);
|
||||
pri_cmd_addr = ((pri_cmd_addr | 0xf0000000000ULL) & PA_IMPL_MASK);
|
||||
break;
|
||||
|
||||
case PCI0_BASE_ADDR1:
|
||||
@@ -300,7 +300,7 @@ IdeController::WriteConfig(int offset, int size, uint32_t data)
|
||||
pioInterface->addAddrRange(pri_ctrl_addr,
|
||||
pri_ctrl_addr + pri_ctrl_size - 1);
|
||||
|
||||
pri_ctrl_addr = ((pri_ctrl_addr | 0xf0000000000) & PA_IMPL_MASK);
|
||||
pri_ctrl_addr = ((pri_ctrl_addr | 0xf0000000000ULL) & PA_IMPL_MASK);
|
||||
break;
|
||||
|
||||
case PCI0_BASE_ADDR2:
|
||||
@@ -309,7 +309,7 @@ IdeController::WriteConfig(int offset, int size, uint32_t data)
|
||||
pioInterface->addAddrRange(sec_cmd_addr,
|
||||
sec_cmd_addr + sec_cmd_size - 1);
|
||||
|
||||
sec_cmd_addr = ((sec_cmd_addr | 0xf0000000000) & PA_IMPL_MASK);
|
||||
sec_cmd_addr = ((sec_cmd_addr | 0xf0000000000ULL) & PA_IMPL_MASK);
|
||||
break;
|
||||
|
||||
case PCI0_BASE_ADDR3:
|
||||
@@ -318,7 +318,7 @@ IdeController::WriteConfig(int offset, int size, uint32_t data)
|
||||
pioInterface->addAddrRange(sec_ctrl_addr,
|
||||
sec_ctrl_addr + sec_ctrl_size - 1);
|
||||
|
||||
sec_ctrl_addr = ((sec_ctrl_addr | 0xf0000000000) & PA_IMPL_MASK);
|
||||
sec_ctrl_addr = ((sec_ctrl_addr | 0xf0000000000ULL) & PA_IMPL_MASK);
|
||||
break;
|
||||
|
||||
case PCI0_BASE_ADDR4:
|
||||
@@ -326,7 +326,7 @@ IdeController::WriteConfig(int offset, int size, uint32_t data)
|
||||
if (pioInterface)
|
||||
pioInterface->addAddrRange(bmi_addr, bmi_addr + bmi_size - 1);
|
||||
|
||||
bmi_addr = ((bmi_addr | 0xf0000000000) & PA_IMPL_MASK);
|
||||
bmi_addr = ((bmi_addr | 0xf0000000000ULL) & PA_IMPL_MASK);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#ifndef __TSUNAMIREG_H__
|
||||
#define __TSUNAMIREG_H__
|
||||
|
||||
#define ALPHA_K0SEG_BASE 0xfffffc0000000000
|
||||
#define ALPHA_K0SEG_BASE 0xfffffc0000000000ULL
|
||||
|
||||
// CChip Registers
|
||||
#define TSDEV_CC_CSR 0x00
|
||||
@@ -101,8 +101,8 @@
|
||||
#define RTC_CONTROL_REGISTERD 13 // control register D
|
||||
#define RTC_REGNUMBER_RTC_CR1 0x6A // control register 1
|
||||
|
||||
#define PCHIP_PCI0_MEMORY 0x10000000000
|
||||
#define PCHIP_PCI0_IO 0x101FC000000
|
||||
#define PCHIP_PCI0_MEMORY 0x10000000000ULL
|
||||
#define PCHIP_PCI0_IO 0x101FC000000ULL
|
||||
#define TSUNAMI_PCI0_MEMORY ALPHA_K0SEG_BASE + PCHIP_PCI0_MEMORY
|
||||
#define TSUNAMI_PCI0_IO ALPHA_K0SEG_BASE + PCHIP_PCI0_IO
|
||||
|
||||
|
||||
@@ -230,6 +230,8 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
|
||||
skipDelayLoopEvent = new LinuxSkipDelayLoopEvent(&pcEventQueue,
|
||||
"calibrate_delay");
|
||||
|
||||
skipCacheProbeEvent = new LinuxSkipFuncEvent(&pcEventQueue, "determine_cpu_caches");
|
||||
|
||||
/* debugPrintfEvent = new DebugPrintfEvent(&pcEventQueue,
|
||||
"debug_printf", false);
|
||||
debugPrintfrEvent = new DebugPrintfEvent(&pcEventQueue,
|
||||
@@ -342,6 +344,9 @@ LinuxSystem::LinuxSystem(const string _name, const uint64_t _init_param,
|
||||
if (kernelSymtab->findAddress("calibrate_delay", addr))
|
||||
skipDelayLoopEvent->schedule(addr+8);
|
||||
|
||||
if (kernelSymtab->findAddress("determine_cpu_caches", addr))
|
||||
skipCacheProbeEvent->schedule(addr+8);
|
||||
|
||||
#if TRACING_ON
|
||||
if (kernelSymtab->findAddress("printk", addr))
|
||||
printfEvent->schedule(addr);
|
||||
|
||||
@@ -102,6 +102,7 @@ class LinuxSystem : public System
|
||||
LinuxBadAddrEvent *badaddrEvent;
|
||||
LinuxSkipFuncEvent *skipPowerStateEvent;
|
||||
LinuxSkipFuncEvent *skipScavengeBootEvent;
|
||||
LinuxSkipFuncEvent *skipCacheProbeEvent;
|
||||
LinuxSkipIdeDelay50msEvent *skipIdeDelay50msEvent;
|
||||
LinuxSkipDelayLoopEvent *skipDelayLoopEvent;
|
||||
LinuxPrintfEvent *printfEvent;
|
||||
|
||||
Reference in New Issue
Block a user