patch-2.1.15 linux/arch/i386/kernel/setup.c
Next file: linux/arch/i386/kernel/signal.c
Previous file: linux/arch/i386/kernel/mca.c
Back to the patch index
Back to the overall index
- Lines: 54
- Date:
Thu Dec 12 16:51:08 1996
- Orig file:
v2.1.14/linux/arch/i386/kernel/setup.c
- Orig date:
Sun Nov 10 20:12:08 1996
diff -u --recursive --new-file v2.1.14/linux/arch/i386/kernel/setup.c linux/arch/i386/kernel/setup.c
@@ -53,6 +53,12 @@
* Bus types ..
*/
int EISA_bus = 0;
+int MCA_bus = 0;
+
+/* for MCA, but anyone else can use it if they want */
+unsigned int machine_id = 0;
+unsigned int machine_submodel_id = 0;
+unsigned int BIOS_revision = 0;
/*
* Setup options
@@ -62,6 +68,10 @@
#ifdef CONFIG_APM
struct apm_bios_info apm_bios_info;
#endif
+struct sys_desc_table_struct {
+ unsigned short length;
+ unsigned char table[0];
+};
unsigned char aux_device_present;
@@ -94,6 +104,7 @@
#define KERNEL_START (*(unsigned long *) (PARAM+0x214))
#define INITRD_START (*(unsigned long *) (PARAM+0x218))
#define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c))
+#define SYS_DESC_TABLE (*(struct sys_desc_table_struct*)(PARAM+0x220))
#define COMMAND_LINE ((char *) (PARAM+2048))
#define COMMAND_LINE_SIZE 256
@@ -124,6 +135,12 @@
#ifdef CONFIG_APM
apm_bios_info = APM_BIOS_INFO;
#endif
+ if( SYS_DESC_TABLE.length != 0 ) {
+ MCA_bus = SYS_DESC_TABLE.table[3] &0x2;
+ machine_id = SYS_DESC_TABLE.table[0];
+ machine_submodel_id = SYS_DESC_TABLE.table[1];
+ BIOS_revision = SYS_DESC_TABLE.table[2];
+ }
aux_device_present = AUX_DEVICE_INFO;
memory_end = (1<<20) + (EXT_MEM_K<<10);
memory_end &= PAGE_MASK;
@@ -199,7 +216,7 @@
/* request io space for devices used on all i[345]86 PC'S */
request_region(0x00,0x20,"dma1");
request_region(0x40,0x20,"timer");
- request_region(0x80,0x20,"dma page reg");
+ request_region(0x80,0x10,"dma page reg");
request_region(0xc0,0x20,"dma2");
request_region(0xf0,0x10,"npu");
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov