|
@@ -67,6 +67,7 @@ extern unsigned long last_time_offset;
|
|
extern void (*ia64_mark_idle) (int);
|
|
extern void (*ia64_mark_idle) (int);
|
|
extern void snidle(int);
|
|
extern void snidle(int);
|
|
extern unsigned char acpi_kbd_controller_present;
|
|
extern unsigned char acpi_kbd_controller_present;
|
|
|
|
+extern unsigned long long (*ia64_printk_clock)(void);
|
|
|
|
|
|
unsigned long sn_rtc_cycles_per_second;
|
|
unsigned long sn_rtc_cycles_per_second;
|
|
EXPORT_SYMBOL(sn_rtc_cycles_per_second);
|
|
EXPORT_SYMBOL(sn_rtc_cycles_per_second);
|
|
@@ -372,6 +373,16 @@ sn_scan_pcdp(void)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static unsigned long sn2_rtc_initial;
|
|
|
|
+
|
|
|
|
+static unsigned long long ia64_sn2_printk_clock(void)
|
|
|
|
+{
|
|
|
|
+ unsigned long rtc_now = rtc_time();
|
|
|
|
+
|
|
|
|
+ return (rtc_now - sn2_rtc_initial) *
|
|
|
|
+ (1000000000 / sn_rtc_cycles_per_second);
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* sn_setup - SN platform setup routine
|
|
* sn_setup - SN platform setup routine
|
|
* @cmdline_p: kernel command line
|
|
* @cmdline_p: kernel command line
|
|
@@ -386,6 +397,7 @@ void __init sn_setup(char **cmdline_p)
|
|
u32 version = sn_sal_rev();
|
|
u32 version = sn_sal_rev();
|
|
extern void sn_cpu_init(void);
|
|
extern void sn_cpu_init(void);
|
|
|
|
|
|
|
|
+ sn2_rtc_initial = rtc_time();
|
|
ia64_sn_plat_set_error_handling_features(); // obsolete
|
|
ia64_sn_plat_set_error_handling_features(); // obsolete
|
|
ia64_sn_set_os_feature(OSF_MCA_SLV_TO_OS_INIT_SLV);
|
|
ia64_sn_set_os_feature(OSF_MCA_SLV_TO_OS_INIT_SLV);
|
|
ia64_sn_set_os_feature(OSF_FEAT_LOG_SBES);
|
|
ia64_sn_set_os_feature(OSF_FEAT_LOG_SBES);
|
|
@@ -437,19 +449,6 @@ void __init sn_setup(char **cmdline_p)
|
|
*/
|
|
*/
|
|
build_cnode_tables();
|
|
build_cnode_tables();
|
|
|
|
|
|
- /*
|
|
|
|
- * Old PROMs do not provide an ACPI FADT. Disable legacy keyboard
|
|
|
|
- * support here so we don't have to listen to failed keyboard probe
|
|
|
|
- * messages.
|
|
|
|
- */
|
|
|
|
- if (version <= 0x0209 && acpi_kbd_controller_present) {
|
|
|
|
- printk(KERN_INFO "Disabling legacy keyboard support as prom "
|
|
|
|
- "is too old and doesn't provide FADT\n");
|
|
|
|
- acpi_kbd_controller_present = 0;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- printk("SGI SAL version %x.%02x\n", version >> 8, version & 0x00FF);
|
|
|
|
-
|
|
|
|
status =
|
|
status =
|
|
ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec,
|
|
ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec,
|
|
&drift);
|
|
&drift);
|
|
@@ -463,6 +462,21 @@ void __init sn_setup(char **cmdline_p)
|
|
|
|
|
|
platform_intr_list[ACPI_INTERRUPT_CPEI] = IA64_CPE_VECTOR;
|
|
platform_intr_list[ACPI_INTERRUPT_CPEI] = IA64_CPE_VECTOR;
|
|
|
|
|
|
|
|
+ ia64_printk_clock = ia64_sn2_printk_clock;
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * Old PROMs do not provide an ACPI FADT. Disable legacy keyboard
|
|
|
|
+ * support here so we don't have to listen to failed keyboard probe
|
|
|
|
+ * messages.
|
|
|
|
+ */
|
|
|
|
+ if (version <= 0x0209 && acpi_kbd_controller_present) {
|
|
|
|
+ printk(KERN_INFO "Disabling legacy keyboard support as prom "
|
|
|
|
+ "is too old and doesn't provide FADT\n");
|
|
|
|
+ acpi_kbd_controller_present = 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ printk("SGI SAL version %x.%02x\n", version >> 8, version & 0x00FF);
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* we set the default root device to /dev/hda
|
|
* we set the default root device to /dev/hda
|
|
* to make simulation easy
|
|
* to make simulation easy
|