diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-08 20:06:51 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-08 20:06:51 -0500 |
commit | 0bdd340c092b0936f78a54bdbd3927463ed4fca3 (patch) | |
tree | d9215d382cdc4c2dc6366a2c551079590e8b8216 /arch/ia64/sn/kernel/setup.c | |
parent | 9908104935325bd6beba67d637b6f5396d47075c (diff) | |
parent | f478af9dc58c01880832a321c3eea7703772c420 (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Diffstat (limited to 'arch/ia64/sn/kernel/setup.c')
-rw-r--r-- | arch/ia64/sn/kernel/setup.c | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index aac1ba32c5e5..48645ac120fc 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c | |||
@@ -67,6 +67,7 @@ extern unsigned long last_time_offset; | |||
67 | extern void (*ia64_mark_idle) (int); | 67 | extern void (*ia64_mark_idle) (int); |
68 | extern void snidle(int); | 68 | extern void snidle(int); |
69 | extern unsigned char acpi_kbd_controller_present; | 69 | extern unsigned char acpi_kbd_controller_present; |
70 | extern unsigned long long (*ia64_printk_clock)(void); | ||
70 | 71 | ||
71 | unsigned long sn_rtc_cycles_per_second; | 72 | unsigned long sn_rtc_cycles_per_second; |
72 | EXPORT_SYMBOL(sn_rtc_cycles_per_second); | 73 | EXPORT_SYMBOL(sn_rtc_cycles_per_second); |
@@ -358,6 +359,16 @@ sn_scan_pcdp(void) | |||
358 | } | 359 | } |
359 | } | 360 | } |
360 | 361 | ||
362 | static unsigned long sn2_rtc_initial; | ||
363 | |||
364 | static unsigned long long ia64_sn2_printk_clock(void) | ||
365 | { | ||
366 | unsigned long rtc_now = rtc_time(); | ||
367 | |||
368 | return (rtc_now - sn2_rtc_initial) * | ||
369 | (1000000000 / sn_rtc_cycles_per_second); | ||
370 | } | ||
371 | |||
361 | /** | 372 | /** |
362 | * sn_setup - SN platform setup routine | 373 | * sn_setup - SN platform setup routine |
363 | * @cmdline_p: kernel command line | 374 | * @cmdline_p: kernel command line |
@@ -372,6 +383,7 @@ void __init sn_setup(char **cmdline_p) | |||
372 | u32 version = sn_sal_rev(); | 383 | u32 version = sn_sal_rev(); |
373 | extern void sn_cpu_init(void); | 384 | extern void sn_cpu_init(void); |
374 | 385 | ||
386 | sn2_rtc_initial = rtc_time(); | ||
375 | ia64_sn_plat_set_error_handling_features(); // obsolete | 387 | ia64_sn_plat_set_error_handling_features(); // obsolete |
376 | ia64_sn_set_os_feature(OSF_MCA_SLV_TO_OS_INIT_SLV); | 388 | ia64_sn_set_os_feature(OSF_MCA_SLV_TO_OS_INIT_SLV); |
377 | ia64_sn_set_os_feature(OSF_FEAT_LOG_SBES); | 389 | ia64_sn_set_os_feature(OSF_FEAT_LOG_SBES); |
@@ -423,19 +435,6 @@ void __init sn_setup(char **cmdline_p) | |||
423 | */ | 435 | */ |
424 | build_cnode_tables(); | 436 | build_cnode_tables(); |
425 | 437 | ||
426 | /* | ||
427 | * Old PROMs do not provide an ACPI FADT. Disable legacy keyboard | ||
428 | * support here so we don't have to listen to failed keyboard probe | ||
429 | * messages. | ||
430 | */ | ||
431 | if (version <= 0x0209 && acpi_kbd_controller_present) { | ||
432 | printk(KERN_INFO "Disabling legacy keyboard support as prom " | ||
433 | "is too old and doesn't provide FADT\n"); | ||
434 | acpi_kbd_controller_present = 0; | ||
435 | } | ||
436 | |||
437 | printk("SGI SAL version %x.%02x\n", version >> 8, version & 0x00FF); | ||
438 | |||
439 | status = | 438 | status = |
440 | ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec, | 439 | ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec, |
441 | &drift); | 440 | &drift); |
@@ -449,6 +448,21 @@ void __init sn_setup(char **cmdline_p) | |||
449 | 448 | ||
450 | platform_intr_list[ACPI_INTERRUPT_CPEI] = IA64_CPE_VECTOR; | 449 | platform_intr_list[ACPI_INTERRUPT_CPEI] = IA64_CPE_VECTOR; |
451 | 450 | ||
451 | ia64_printk_clock = ia64_sn2_printk_clock; | ||
452 | |||
453 | /* | ||
454 | * Old PROMs do not provide an ACPI FADT. Disable legacy keyboard | ||
455 | * support here so we don't have to listen to failed keyboard probe | ||
456 | * messages. | ||
457 | */ | ||
458 | if (version <= 0x0209 && acpi_kbd_controller_present) { | ||
459 | printk(KERN_INFO "Disabling legacy keyboard support as prom " | ||
460 | "is too old and doesn't provide FADT\n"); | ||
461 | acpi_kbd_controller_present = 0; | ||
462 | } | ||
463 | |||
464 | printk("SGI SAL version %x.%02x\n", version >> 8, version & 0x00FF); | ||
465 | |||
452 | /* | 466 | /* |
453 | * we set the default root device to /dev/hda | 467 | * we set the default root device to /dev/hda |
454 | * to make simulation easy | 468 | * to make simulation easy |