wok-6.x view memtest/stuff/memtest86+-5.01-setup.patch @ rev 23248
updated nnn (2.9 -> 3.0)
author | Hans-G?nter Theisgen |
---|---|
date | Wed Mar 25 11:33:56 2020 +0100 (2020-03-25) |
parents | 362c1f0b5004 |
children |
line source
1 --- memtest86+-5.01/setup.S
2 +++ memtest86+-5.01/setup.S
3 @@ -27,11 +27,11 @@
4 #ljmp $INITSEG, $(reload - start + 0x200)
5 reload:
6 movw $INITSEG, %ax
7 - movw %ax, %ds
8 movw %ax, %es
9 movw %ax, %fs
10 + movw %ax, %gs
11 movw %ax, %ss # reset the stack to INITSEG:0x4000-12.
12 - movw %dx, %sp
13 + movw $0x4000-12, %sp
14 push %cs
15 pop %ds
16 lidt idt_48 - start # load idt with 0,0
17 @@ -50,13 +50,13 @@
18 jz alt_a20_done
20 /* set or clear bit1, the ALT_A20_GATE bit */
21 - movb 4(%esp), %ah
22 - testb %ah, %ah
23 - jz alt_a20_cont1
24 + //movb 4(%esp), %ah
25 + //testb %ah, %ah
26 + //jz alt_a20_cont1
27 orb $2, %al
28 - jmp alt_a20_cont2
29 + //jmp alt_a20_cont2
30 alt_a20_cont1:
31 - and $0xfd, %al
32 + //and $0xfd, %al
34 /* clear the INIT_NOW bit; don't accidently reset the machine */
35 alt_a20_cont2:
36 @@ -87,9 +87,9 @@
37 movw $KERNEL_DS, %ax
38 movw %ax, %ds
39 movw %ax, %es
40 - movw %ax, %ss
41 movw %ax, %fs
42 movw %ax, %gs
43 + movw %ax, %ss
45 data32 ljmp $KERNEL_CS, $(TSTLOAD <<4) # jmp offset 2000 of segment 0x10 (cs)
47 @@ -100,18 +100,16 @@
48 * No timeout is used - if this hangs there is something wrong with
49 * the machine, and we probably couldn't proceed anyway.
50 */
51 +has_output:
52 + call delay
53 + inb $0x60, %al # read it
54 empty_8042:
55 call delay
56 inb $0x64, %al # 8042 status port
57 cmpb $0xff, %al # from grub-a20-patch, skip if not impl
58 jz empty_8042_ret
59 testb $1, %al # output buffer?
60 - jz no_output
61 - call delay
62 - inb $0x60, %al # read it
63 - jmp empty_8042
64 -
65 -no_output:
66 + jnz has_output
67 testb $2, %al # is input buffer full?
68 jnz empty_8042 # yes - loop
69 empty_8042_ret: