Messages in this thread Patch in this message | | | Subject | [PATCH][2.6-test4][2/6]Support for HPET based timer | Date | Thu, 28 Aug 2003 16:43:41 -0700 | From | "Pallipadi, Venkatesh" <> |
| |
2/6 - hpet2.patch - acpi boot time parsing changes to look for HPET
diff -purN linux-2.6.0-test4/arch/i386/kernel/acpi/boot.c linux-2.6.0-test4-hpet/arch/i386/kernel/acpi/boot.c --- linux-2.6.0-test4/arch/i386/kernel/acpi/boot.c 2003-08-22 16:59:02.000000000 -0700 +++ linux-2.6.0-test4-hpet/arch/i386/kernel/acpi/boot.c 2003-08-28 12:18:15.000000000 -0700 @@ -269,6 +269,27 @@ acpi_scan_rsdp ( return 0; } +#ifdef CONFIG_HPET_TIMER +extern unsigned long hpet_address; + +static int __init acpi_parse_hpet(unsigned long phys, unsigned long size) +{ + struct acpi_table_hpet *hpet_tbl; + + hpet_tbl = __va(phys); + + if (hpet_tbl->addr.space_id != ACPI_SPACE_MEM) { + printk(KERN_WARNING PREFIX "HPET timers must be located in " + "memory.\n"); + return -1; + } + + hpet_address = hpet_tbl->addr.addrl; + printk(KERN_INFO PREFIX "HPET id: %#x base: %#lx\n", hpet_tbl->id, + hpet_address); + return 0; +} +#endif unsigned long __init acpi_find_rsdp (void) @@ -458,6 +479,9 @@ acpi_boot_init (void) clustered_apic_check(); } #endif +#ifdef CONFIG_HPET_TIMER + acpi_table_parse(ACPI_HPET, acpi_parse_hpet); +#endif return 0; }
[unhandled content-type:application/x-zip-compressed] | |