summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/shared/smp/smp-imps.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2011-07-18 16:33:30 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2011-07-18 16:33:30 +0000
commit894a2c910af0cc98eeae88f433a9079e2cc349f3 (patch)
tree53c748b5ec3a61a96d1d411a16c18a3f1078eb5f /c/src/lib/libbsp/i386/shared/smp/smp-imps.h
parent2011-07-18 Till Straumann <strauman@slac.stanford.edu> (diff)
downloadrtems-894a2c910af0cc98eeae88f433a9079e2cc349f3.tar.bz2
2011-07-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* shared/irq/apic.h, shared/smp/smp-imps.c, shared/smp/smp-imps.h: Reformat to be more compliant with RTEMS style.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/i386/shared/smp/smp-imps.h129
1 files changed, 62 insertions, 67 deletions
diff --git a/c/src/lib/libbsp/i386/shared/smp/smp-imps.h b/c/src/lib/libbsp/i386/shared/smp/smp-imps.h
index 49cf648d19..809f6a29ec 100644
--- a/c/src/lib/libbsp/i386/shared/smp/smp-imps.h
+++ b/c/src/lib/libbsp/i386/shared/smp/smp-imps.h
@@ -42,15 +42,15 @@
/* make sure "apic.h" is included */
#ifndef _APIC_H
-#error Must include "apic.h" before "smp-imps.h"
+#error Must include "apic.h" before "smp-imps.h"
#endif /* !_APIC_H */
/*
* Defines used.
*/
-#define IMPS_READ(x) (*((volatile unsigned *) (x)))
-#define IMPS_WRITE(x,y) (*((volatile unsigned *) (x)) = (y))
+#define IMPS_READ(x) (*((volatile unsigned *) (x)))
+#define IMPS_WRITE(x,y) (*((volatile unsigned *) (x)) = (y))
#ifdef IMPS_DEBUG
#define IMPS_DEBUG_PRINT(x) KERNEL_PRINT(x)
@@ -58,44 +58,44 @@
#define IMPS_DEBUG_PRINT(x)
#endif /* !IMPS_DEBUG */
-#define IMPS_MAX_CPUS APIC_BCAST_ID
+#define IMPS_MAX_CPUS APIC_BCAST_ID
/*
* This is the value that must be in the "sig" member of the MP
* Floating Pointer Structure.
*/
-#define IMPS_FPS_SIGNATURE ('_' | ('M'<<8) | ('P'<<16) | ('_'<<24))
-#define IMPS_FPS_IMCRP_BIT 0x80
-#define IMPS_FPS_DEFAULT_MAX 7
+#define IMPS_FPS_SIGNATURE ('_' | ('M'<<8) | ('P'<<16) | ('_'<<24))
+#define IMPS_FPS_IMCRP_BIT 0x80
+#define IMPS_FPS_DEFAULT_MAX 7
/*
* This is the value that must be in the "sig" member of the MP
* Configuration Table Header.
*/
-#define IMPS_CTH_SIGNATURE ('P' | ('C'<<8) | ('M'<<16) | ('P'<<24))
+#define IMPS_CTH_SIGNATURE ('P' | ('C'<<8) | ('M'<<16) | ('P'<<24))
/*
* These are the "type" values for Base MP Configuration Table entries.
*/
-#define IMPS_FLAG_ENABLED 1
-#define IMPS_BCT_PROCESSOR 0
-#define IMPS_CPUFLAG_BOOT 2
-#define IMPS_BCT_BUS 1
-#define IMPS_BCT_IOAPIC 2
-#define IMPS_BCT_IO_INTERRUPT 3
-#define IMPS_BCT_LOCAL_INTERRUPT 4
-#define IMPS_INT_INT 0
-#define IMPS_INT_NMI 1
-#define IMPS_INT_SMI 2
-#define IMPS_INT_EXTINT 3
+#define IMPS_FLAG_ENABLED 1
+#define IMPS_BCT_PROCESSOR 0
+#define IMPS_CPUFLAG_BOOT 2
+#define IMPS_BCT_BUS 1
+#define IMPS_BCT_IOAPIC 2
+#define IMPS_BCT_IO_INTERRUPT 3
+#define IMPS_BCT_LOCAL_INTERRUPT 4
+#define IMPS_INT_INT 0
+#define IMPS_INT_NMI 1
+#define IMPS_INT_SMI 2
+#define IMPS_INT_EXTINT 3
/*
* Typedefs and data item definitions done here.
*/
-typedef struct imps_fps imps_fps; /* MP floating pointer structure */
-typedef struct imps_cth imps_cth; /* MP configuration table header */
+typedef struct imps_fps imps_fps; /* MP floating pointer structure */
+typedef struct imps_cth imps_cth; /* MP configuration table header */
typedef struct imps_processor imps_processor;
typedef struct imps_bus imps_bus;
typedef struct imps_ioapic imps_ioapic;
@@ -114,12 +114,12 @@ typedef struct imps_interrupt imps_interrupt;
*/
struct imps_fps
{
- unsigned sig;
- imps_cth *cth_ptr;
- unsigned char length;
- unsigned char spec_rev;
- unsigned char checksum;
- unsigned char feature_info[5];
+ unsigned sig;
+ imps_cth *cth_ptr;
+ unsigned char length;
+ unsigned char spec_rev;
+ unsigned char checksum;
+ unsigned char feature_info[5];
};
/*
@@ -130,19 +130,19 @@ struct imps_fps
*/
struct imps_cth
{
- unsigned sig;
- unsigned short base_length;
- unsigned char spec_rev;
- unsigned char checksum;
- char oem_id[8];
- char prod_id[12];
- unsigned oem_table_ptr;
- unsigned short oem_table_size;
- unsigned short entry_count;
- unsigned lapic_addr;
- unsigned short extended_length;
- unsigned char extended_checksum;
- char reserved[1];
+ unsigned sig;
+ unsigned short base_length;
+ unsigned char spec_rev;
+ unsigned char checksum;
+ char oem_id[8];
+ char prod_id[12];
+ unsigned oem_table_ptr;
+ unsigned short oem_table_size;
+ unsigned short entry_count;
+ unsigned lapic_addr;
+ unsigned short extended_length;
+ unsigned char extended_checksum;
+ char reserved[1];
};
/*
@@ -153,43 +153,42 @@ struct imps_cth
struct imps_processor
{
- unsigned char type; /* must be 0 */
- unsigned char apic_id;
- unsigned char apic_ver;
- unsigned char flags;
- unsigned signature;
- unsigned features;
- char reserved[8];
+ unsigned char type; /* must be 0 */
+ unsigned char apic_id;
+ unsigned char apic_ver;
+ unsigned char flags;
+ unsigned signature;
+ unsigned features;
+ char reserved[8];
};
struct imps_bus
{
- unsigned char type; /* must be 1 */
- unsigned char id;
- char bus_type[6];
+ unsigned char type; /* must be 1 */
+ unsigned char id;
+ char bus_type[6];
};
struct imps_ioapic
{
- unsigned char type; /* must be 2 */
- unsigned char id;
- unsigned char ver;
- unsigned char flags;
- unsigned addr;
+ unsigned char type; /* must be 2 */
+ unsigned char id;
+ unsigned char ver;
+ unsigned char flags;
+ unsigned addr;
};
struct imps_interrupt
{
- unsigned char type; /* must be 3 or 4 */
- unsigned char int_type;
- unsigned short flags;
- unsigned char source_bus_id;
- unsigned char source_bus_irq;
- unsigned char dest_apic_id;
- unsigned char dest_apic_intin;
+ unsigned char type; /* must be 3 or 4 */
+ unsigned char int_type;
+ unsigned short flags;
+ unsigned char source_bus_id;
+ unsigned char source_bus_irq;
+ unsigned char dest_apic_id;
+ unsigned char dest_apic_intin;
};
-
/*
* Exported globals here.
*/
@@ -216,7 +215,6 @@ extern int imps_num_cpus;
extern unsigned char imps_cpu_apic_map[IMPS_MAX_CPUS];
extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
-
/*
* This is the primary function for probing for Intel MPS 1.1/1.4
* compatible hardware and BIOS information. While probing the CPUs
@@ -229,21 +227,18 @@ extern unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
* Returns N if IMPS information was found (for number of CPUs started)
* and is valid, else 0.
*/
-
int imps_probe(void);
/*
* This one is used as a "force" function. Give it the number of CPUs
* to start, and it will assume a certain number and try it.
*/
-
int imps_force(int ncpus);
/*
* Defines that use variables
*/
-
#define IMPS_LAPIC_READ(x) (*((volatile unsigned *) (imps_lapic_addr+(x))))
#define IMPS_LAPIC_WRITE(x, y) \
(*((volatile unsigned *) (imps_lapic_addr+(x))) = (y))