Deleted Added
full compact
x86_smp.h (92761) x86_smp.h (93018)
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you
5 * can do whatever you want with this stuff. If we meet some day, and you think
6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
7 * ----------------------------------------------------------------------------
8 *
1/*
2 * ----------------------------------------------------------------------------
3 * "THE BEER-WARE LICENSE" (Revision 42):
4 * <phk@FreeBSD.org> wrote this file. As long as you retain this notice you
5 * can do whatever you want with this stuff. If we meet some day, and you think
6 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
7 * ----------------------------------------------------------------------------
8 *
9 * $FreeBSD: head/sys/i386/include/smp.h 92761 2002-03-20 05:48:58Z alfred $
9 * $FreeBSD: head/sys/i386/include/smp.h 93018 2002-03-23 15:09:35Z bde $
10 *
11 */
12
13#ifndef _MACHINE_SMP_H_
14#define _MACHINE_SMP_H_
15
16#ifdef _KERNEL
17

--- 38 unchanged lines hidden (view full) ---

56#define IPI_STOP XCPUSTOP_OFFSET
57#define IPI_HARDCLOCK XHARDCLOCK_OFFSET
58#define IPI_STATCLOCK XSTATCLOCK_OFFSET
59
60/* global data in mpboot.s */
61extern int bootMP_size;
62
63/* functions in mpboot.s */
10 *
11 */
12
13#ifndef _MACHINE_SMP_H_
14#define _MACHINE_SMP_H_
15
16#ifdef _KERNEL
17

--- 38 unchanged lines hidden (view full) ---

56#define IPI_STOP XCPUSTOP_OFFSET
57#define IPI_HARDCLOCK XHARDCLOCK_OFFSET
58#define IPI_STATCLOCK XSTATCLOCK_OFFSET
59
60/* global data in mpboot.s */
61extern int bootMP_size;
62
63/* functions in mpboot.s */
64void bootMP (void);
64void bootMP(void);
65
66/* global data in mp_machdep.c */
67extern int bsp_apic_ready;
68extern int mp_naps;
69extern int mp_nbusses;
70extern int mp_napics;
71extern int mp_picmode;
72extern int boot_cpu_id;

--- 10 unchanged lines hidden (view full) ---

83 int int_pin;
84 volatile void *apic_address;
85 int redirindex;
86};
87extern struct apic_intmapinfo int_to_apicintpin[];
88extern struct pcb stoppcbs[];
89
90/* functions in mp_machdep.c */
65
66/* global data in mp_machdep.c */
67extern int bsp_apic_ready;
68extern int mp_naps;
69extern int mp_nbusses;
70extern int mp_napics;
71extern int mp_picmode;
72extern int boot_cpu_id;

--- 10 unchanged lines hidden (view full) ---

83 int int_pin;
84 volatile void *apic_address;
85 int redirindex;
86};
87extern struct apic_intmapinfo int_to_apicintpin[];
88extern struct pcb stoppcbs[];
89
90/* functions in mp_machdep.c */
91void i386_mp_probe (void);
92u_int mp_bootaddress (u_int);
93u_int isa_apic_mask (u_int);
94int isa_apic_irq (int);
95int pci_apic_irq (int, int, int);
96int apic_irq (int, int);
97int next_apic_irq (int);
98int undirect_isa_irq (int);
99int undirect_pci_irq (int);
100int apic_bus_type (int);
101int apic_src_bus_id (int, int);
102int apic_src_bus_irq (int, int);
103int apic_int_type (int, int);
104int apic_trigger (int, int);
105int apic_polarity (int, int);
106void assign_apic_irq (int apic, int intpin, int irq);
107void revoke_apic_irq (int irq);
108void bsp_apic_configure (void);
109void init_secondary (void);
110void smp_invltlb (void);
111void forward_statclock (void);
112void forwarded_statclock (struct trapframe frame);
113void forward_hardclock (void);
114void forwarded_hardclock (struct trapframe frame);
115void ipi_selected (u_int cpus, u_int ipi);
116void ipi_all (u_int ipi);
117void ipi_all_but_self (u_int ipi);
118void ipi_self (u_int ipi);
91void i386_mp_probe(void);
92u_int mp_bootaddress(u_int);
93u_int isa_apic_mask(u_int);
94int isa_apic_irq(int);
95int pci_apic_irq(int, int, int);
96int apic_irq(int, int);
97int next_apic_irq(int);
98int undirect_isa_irq(int);
99int undirect_pci_irq(int);
100int apic_bus_type(int);
101int apic_src_bus_id(int, int);
102int apic_src_bus_irq(int, int);
103int apic_int_type(int, int);
104int apic_trigger(int, int);
105int apic_polarity(int, int);
106void assign_apic_irq(int apic, int intpin, int irq);
107void revoke_apic_irq(int irq);
108void bsp_apic_configure(void);
109void init_secondary(void);
110void smp_invltlb(void);
111void forward_statclock(void);
112void forwarded_statclock(struct trapframe frame);
113void forward_hardclock(void);
114void forwarded_hardclock(struct trapframe frame);
115void ipi_selected(u_int cpus, u_int ipi);
116void ipi_all(u_int ipi);
117void ipi_all_but_self(u_int ipi);
118void ipi_self(u_int ipi);
119#ifdef APIC_INTR_REORDER
119#ifdef APIC_INTR_REORDER
120void set_lapic_isrloc (int, int);
120void set_lapic_isrloc(int, int);
121#endif /* APIC_INTR_REORDER */
122
123/* global data in mpapic.c */
124extern volatile lapic_t lapic;
125extern volatile ioapic_t **ioapic;
126
127/* functions in mpapic.c */
121#endif /* APIC_INTR_REORDER */
122
123/* global data in mpapic.c */
124extern volatile lapic_t lapic;
125extern volatile ioapic_t **ioapic;
126
127/* functions in mpapic.c */
128void apic_dump (char*);
129void apic_initialize (void);
130void imen_dump (void);
131int apic_ipi (int, int, int);
132int selected_apic_ipi (u_int, int, int);
133int io_apic_setup (int);
134void io_apic_setup_intpin (int, int);
135void io_apic_set_id (int, int);
136int io_apic_get_id (int);
137int ext_int_setup (int, int);
128void apic_dump(char*);
129void apic_initialize(void);
130void imen_dump(void);
131int apic_ipi(int, int, int);
132int selected_apic_ipi(u_int, int, int);
133int io_apic_setup(int);
134void io_apic_setup_intpin(int, int);
135void io_apic_set_id(int, int);
136int io_apic_get_id(int);
137int ext_int_setup(int, int);
138
138
139void set_apic_timer (int);
140int read_apic_timer (void);
141void u_sleep (int);
142u_int io_apic_read (int, int);
143void io_apic_write (int, int, u_int);
139void set_apic_timer(int);
140int read_apic_timer(void);
141void u_sleep(int);
142u_int io_apic_read(int, int);
143void io_apic_write(int, int, u_int);
144
145#endif /* !LOCORE */
146#endif /* SMP && !APIC_IO */
147
148#endif /* _KERNEL */
149#endif /* _MACHINE_SMP_H_ */
144
145#endif /* !LOCORE */
146#endif /* SMP && !APIC_IO */
147
148#endif /* _KERNEL */
149#endif /* _MACHINE_SMP_H_ */