Rev 98 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 98 | Rev 99 | ||
---|---|---|---|
Line 45... | Line 45... | ||
45 | .section K_TEXT_START |
45 | .section K_TEXT_START |
46 | 46 | ||
47 | memmap_arch_init: |
47 | memmap_arch_init: |
48 | 48 | ||
49 | e820begin: |
49 | e820begin: |
50 | xorl %ebx,%ebx #at first call must be ebx==0 |
50 | xorl %ebx,%ebx # during first call, ebx must be 0 |
51 | 51 | ||
52 | movw $e820table,%di |
52 | movw $e820table,%di |
53 | movb $E820_MAX_RECORDS,(e820counter) |
53 | movb $E820_MAX_RECORDS,(e820counter) |
54 | e820loop: |
54 | e820loop: |
55 | movl $E820_SMAP,%edx # constrol sequence "SMAP" |
55 | movl $E820_SMAP,%edx # constrol sequence "SMAP" |
Line 60... | Line 60... | ||
60 | movl $E820_RECORD_SIZE,%ecx |
60 | movl $E820_RECORD_SIZE,%ecx |
61 | int $0x15 |
61 | int $0x15 |
62 | jc e820end |
62 | jc e820end |
63 | 63 | ||
64 | 64 | ||
65 | cmpl $E820_SMAP,%eax # verifiing BIOS |
65 | cmpl $E820_SMAP,%eax # verifying BIOS |
66 | jne e820end |
66 | jne e820end |
67 | 67 | ||
68 | movw %di,%ax # next record |
68 | movw %di,%ax # next record |
69 | addw $E820_RECORD_SIZE,%ax |
69 | addw $E820_RECORD_SIZE,%ax |
70 | movw %ax,%di |
70 | movw %ax,%di |
Line 84... | Line 84... | ||
84 | 84 | ||
85 | e820counter: |
85 | e820counter: |
86 | .byte 0 |
86 | .byte 0 |
87 | 87 | ||
88 | e820table: |
88 | e820table: |
89 | .space (32*E820_RECORD_SIZE),0 #prostor na 32 zaznamu delky E820_RECORD_SIZE |
89 | .space (32*E820_RECORD_SIZE),0 # space for 32 records, each E820_RECORD_SIZE bytes long |