return ioapic_id, regions
+
+def parse_ioports():
+ pm_timer_base = None
+ f, e = input_open('/proc/ioports', True, False, 'r')
+ for line in f:
+ if line.endswith('ACPI PM_TMR\n'):
+ pm_timer_base = int(line.split('-')[0], 16)
+ break
+ f.close()
+ return pm_timer_base
+
+
pcidevices = parse_pcidevices()
product = [input_readline('/sys/class/dmi/id/sys_vendor',
cpucount = count_cpus()
+pm_timer_base = parse_ioports()
+
f = open(options.file, 'w')
if options.generate_collector:
product=product,
pcidevices=pcidevices,
cpucount=cpucount,
- ioapic_id=ioapic_id))
+ ioapic_id=ioapic_id,
+ pm_timer_base=pm_timer_base))
.phys_start = ${hex(confmem[0])},
.size = ${hex(confmem[1])},
},
+ .platform_info.x86 = {
+ .pm_timer_address = ${hex(pm_timer_base)},
+ },
.root_cell = {
.name = "${product[1]}",
.cpu_set_size = sizeof(config.cpus),