patch-2.1.16 linux/arch/i386/boot/setup.S

Next file: linux/arch/i386/defconfig
Previous file: linux/arch/alpha/mm/fault.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.15/linux/arch/i386/boot/setup.S linux/arch/i386/boot/setup.S
@@ -294,6 +294,33 @@
 	stosb
 is_disk1:
 
+! check for Micro Channel (MCA) bus
+	mov ax,cs		! aka #SETUPSEG
+	sub ax,#DELTA_INITSEG	! aka #INITSEG
+	mov ds,ax
+	mov ds,ax
+	xor ax,ax
+	mov [0x220], ax		! set table length to 0
+	mov ah, #0xc0
+	stc
+	int 0x15		! puts feature table at es:bx
+	jc no_mca
+	push ds
+	mov ax,es
+	mov ds,ax
+	mov ax,cs		! aka #SETUPSEG
+	sub ax, #DELTA_INITSEG	! aka #INITSEG
+	mov es,ax
+	mov si,bx
+	mov di,#0x220
+	mov cx,(si)
+	add cx,#2		! table length is a short
+	rep
+	movsb
+	pop ds
+
+no_mca:
+
 ! Check for PS/2 pointing device
 
 	mov	ax,cs		! aka #SETUPSEG

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov