I'm about to make it do more than just the pmtimer...
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
}
void
-find_pmtimer(void)
+find_acpi_features(void)
{
struct fadt_descriptor_rev1 *fadt = find_fadt();
if (!fadt)
return;
- u32 pm_tmr = fadt->pm_tmr_blk;
+ u32 pm_tmr = le32_to_cpu(fadt->pm_tmr_blk);
dprintf(4, "pm_tmr_blk=%x\n", pm_tmr);
- if (!pm_tmr)
- return;
-
- pmtimer_setup(pm_tmr, 3579);
+ if (pm_tmr)
+ pmtimer_setup(pm_tmr, 3579);
}
void acpi_setup(void);
u32 find_resume_vector(void);
-void find_pmtimer(void);
+void find_acpi_features(void);
#define RSDP_SIGNATURE 0x2052545020445352LL // "RSD PTR "
#include "boot.h" // boot_add_cbfs
#include "disk.h" // MAXDESCSIZE
#include "config.h" // CONFIG_*
-#include "acpi.h" // find_pmtimer
+#include "acpi.h" // find_acpi_features
#include "pci.h" // pci_probe_devices
scan_tables(m->start, m->size);
}
- find_pmtimer();
+ find_acpi_features();
}
dprintf(3, "CSM PIRQ table at %p\n", PirAddr);
}
- // For find_resume_vector()... and find_pmtimer()
+ // For find_resume_vector()... and find_acpi_features()
if (csm_rsdp.signature == RSDP_SIGNATURE) {
RsdpAddr = &csm_rsdp;
dprintf(3, "CSM ACPI RSDP at %p\n", RsdpAddr);
- find_pmtimer();
+ find_acpi_features();
}
// SMBIOS table needs to be copied into the f-seg
#include "memmap.h" // add_e820
#include "types.h" // ASM32FLAT
#include "util.h" // copy_acpi_rsdp
-#include "acpi.h" // find_pmtimer
+#include "acpi.h" // find_acpi_features
#define INFO_PHYSICAL_ADDRESS 0x00001000
for (i=0; i<info->tables_nr; i++)
copy_table(tables[i]);
- find_pmtimer();
+ find_acpi_features();
}
void xen_ramsize_preinit(void)