X86: Make the time on the RTC configurable.

This commit is contained in:
Gabe Black 2008-10-10 23:42:31 -07:00
parent b03c95d075
commit f85a7f00c0
3 changed files with 8 additions and 13 deletions

View file

@ -32,4 +32,6 @@ from Device import PioDevice
class SouthBridge(PioDevice):
type = 'SouthBridge'
time = Param.Time('01/01/2009',
"System time to use ('Now' for actual time)")
pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")

View file

@ -44,8 +44,6 @@ class Cmos : public SubDevice
protected:
uint8_t address;
struct tm foo_time;
static const int numRegs = 128;
uint8_t regs[numRegs];
@ -70,22 +68,17 @@ class Cmos : public SubDevice
public:
Cmos(EventManager *em) : rtc(em, "rtc", foo_time, true, ULL(5000000000))
Cmos(EventManager *em, Tick _latency, struct tm time) :
SubDevice(_latency), rtc(em, "rtc", time, true, ULL(5000000000))
{
memset(regs, 0, numRegs * sizeof(uint8_t));
address = 0;
}
Cmos(EventManager *em, Tick _latency) : SubDevice(_latency),
rtc(em, "rtc", foo_time, true, ULL(5000000000))
{
memset(regs, 0, numRegs * sizeof(uint8_t));
address = 0;
}
Cmos(EventManager *em, Addr start, Addr size, Tick _latency) :
Cmos(EventManager *em, Addr start, Addr size,
Tick _latency, struct tm time) :
SubDevice(start, size, _latency),
rtc(em, "rtc", foo_time, true, ULL(5000000000))
rtc(em, "rtc", time, true, ULL(5000000000))
{
memset(regs, 0, numRegs * sizeof(uint8_t));
address = 0;

View file

@ -70,7 +70,7 @@ SouthBridge::SouthBridge(const Params *p) : PioDevice(p),
pic1(0x20, 2, p->pio_latency),
pic2(0xA0, 2, p->pio_latency),
pit(this, p->name + ".pit", 0x40, 4, p->pio_latency),
cmos(this, 0x70, 2, p->pio_latency),
cmos(this, 0x70, 2, p->pio_latency, p->time),
speaker(&pit, 0x61, 1, p->pio_latency)
{
addDevice(pic1);