X86: Make the time on the RTC configurable.
This commit is contained in:
parent
b03c95d075
commit
f85a7f00c0
3 changed files with 8 additions and 13 deletions
|
@ -32,4 +32,6 @@ from Device import PioDevice
|
||||||
|
|
||||||
class SouthBridge(PioDevice):
|
class SouthBridge(PioDevice):
|
||||||
type = 'SouthBridge'
|
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")
|
pio_latency = Param.Latency('1ns', "Programmed IO latency in simticks")
|
||||||
|
|
|
@ -44,8 +44,6 @@ class Cmos : public SubDevice
|
||||||
protected:
|
protected:
|
||||||
uint8_t address;
|
uint8_t address;
|
||||||
|
|
||||||
struct tm foo_time;
|
|
||||||
|
|
||||||
static const int numRegs = 128;
|
static const int numRegs = 128;
|
||||||
|
|
||||||
uint8_t regs[numRegs];
|
uint8_t regs[numRegs];
|
||||||
|
@ -70,22 +68,17 @@ class Cmos : public SubDevice
|
||||||
|
|
||||||
public:
|
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));
|
memset(regs, 0, numRegs * sizeof(uint8_t));
|
||||||
address = 0;
|
address = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Cmos(EventManager *em, Tick _latency) : SubDevice(_latency),
|
Cmos(EventManager *em, Addr start, Addr size,
|
||||||
rtc(em, "rtc", foo_time, true, ULL(5000000000))
|
Tick _latency, struct tm time) :
|
||||||
{
|
|
||||||
memset(regs, 0, numRegs * sizeof(uint8_t));
|
|
||||||
address = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
Cmos(EventManager *em, Addr start, Addr size, Tick _latency) :
|
|
||||||
SubDevice(start, size, _latency),
|
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));
|
memset(regs, 0, numRegs * sizeof(uint8_t));
|
||||||
address = 0;
|
address = 0;
|
||||||
|
|
|
@ -70,7 +70,7 @@ SouthBridge::SouthBridge(const Params *p) : PioDevice(p),
|
||||||
pic1(0x20, 2, p->pio_latency),
|
pic1(0x20, 2, p->pio_latency),
|
||||||
pic2(0xA0, 2, p->pio_latency),
|
pic2(0xA0, 2, p->pio_latency),
|
||||||
pit(this, p->name + ".pit", 0x40, 4, 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)
|
speaker(&pit, 0x61, 1, p->pio_latency)
|
||||||
{
|
{
|
||||||
addDevice(pic1);
|
addDevice(pic1);
|
||||||
|
|
Loading…
Reference in a new issue