debuggers.hg

view linux-2.6.10-xen-sparse/include/asm-xen/asm-i386/mach-xen/smpboot_hooks.h @ 3370:72b23176fb04

bitkeeper revision 1.1159.1.506 (41d00f89OifvQoN_EcnO5XuQN0RRjA)

Update to Linux 2.6.10.
author cl349@arcadians.cl.cam.ac.uk
date Mon Dec 27 13:35:05 2004 +0000 (2004-12-27)
parents
children 0a4b76b6b5a0
line source
1 /* two abstractions specific to kernel/smpboot.c, mainly to cater to visws
2 * which needs to alter them. */
4 static inline void smpboot_clear_io_apic_irqs(void)
5 {
6 #if 1
7 printk("smpboot_clear_io_apic_irqs\n");
8 #else
9 io_apic_irqs = 0;
10 #endif
11 }
13 static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip)
14 {
15 #if 1
16 printk("smpboot_setup_warm_reset_vector\n");
17 #else
18 CMOS_WRITE(0xa, 0xf);
19 local_flush_tlb();
20 Dprintk("1.\n");
21 *((volatile unsigned short *) TRAMPOLINE_HIGH) = start_eip >> 4;
22 Dprintk("2.\n");
23 *((volatile unsigned short *) TRAMPOLINE_LOW) = start_eip & 0xf;
24 Dprintk("3.\n");
25 #endif
26 }
28 static inline void smpboot_restore_warm_reset_vector(void)
29 {
30 /*
31 * Install writable page 0 entry to set BIOS data area.
32 */
33 local_flush_tlb();
35 /*
36 * Paranoid: Set warm reset code and vector here back
37 * to default values.
38 */
39 CMOS_WRITE(0, 0xf);
41 *((volatile long *) phys_to_virt(0x467)) = 0;
42 }
44 static inline void smpboot_setup_io_apic(void)
45 {
46 #if 1
47 printk("smpboot_setup_io_apic\n");
48 #else
49 /*
50 * Here we can be sure that there is an IO-APIC in the system. Let's
51 * go and set it up:
52 */
53 if (!skip_ioapic_setup && nr_ioapics)
54 setup_IO_APIC();
55 #endif
56 }
59 #define smp_found_config (HYPERVISOR_shared_info->n_vcpu > 1)