/SPARTAN/trunk/arch/ia32/src/smp/mps.c |
---|
185,7 → 185,7 |
return; |
fs_found: |
printf("%L: MPS Floating Pointer Structure\n", fs); |
printf("%P: MPS Floating Pointer Structure\n", fs); |
frame_not_free((__address) fs); |
407,7 → 407,7 |
for (cur = ext; cur < ext + ct->ext_table_length; cur += cur[CT_EXT_ENTRY_LEN]) { |
switch (cur[CT_EXT_ENTRY_TYPE]) { |
default: |
printf("%L: skipping MP Configuration Table extended entry type %d\n", cur, cur[CT_EXT_ENTRY_TYPE]); |
printf("%P: skipping MP Configuration Table extended entry type %d\n", cur, cur[CT_EXT_ENTRY_TYPE]); |
break; |
} |
} |
/SPARTAN/trunk/arch/ia32/src/boot/boot.S |
---|
52,6 → 52,7 |
cli |
xorw %ax, %ax |
movw %ax, %ds |
movw %ax, %es |
movw %ax, %ss # initialize stack segment register |
movl $BOOTSTRAP_OFFSET - 0x400, %esp # initialize stack pointer |
85,7 → 86,7 |
movw %ax, %ds # kernel data + stack |
movw %ax, %ss |
movb $0xd1, %al # enable A20 using the keyboard controller |
movb $0xd1, %al # enable A20 using i8042 controller |
outb %al, $0x64 |
movb $0xdf, %al |
outb %al, $0x60 |
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S |
---|
38,41 → 38,38 |
.section K_TEXT_START_2 |
memmap_arch_init: |
e820begin: |
xorl %ebx,%ebx # during first call, ebx must be 0 |
movw %bx,%ds |
movw %bx,%es |
xorl %ebx,%ebx # during first call, ebx must be 0 |
movw $e820table_boot,%di |
movb $MEMMAP_E820_MAX_RECORDS,e820counter_boot |
e820loop: |
movl $E820_SMAP,%edx # control sequence "SMAP" |
movl $E820_SMAP,%edx # control sequence "SMAP" |
movl $0x0000e820,%eax # service |
movl $0x0000e820,%eax # service |
movl $MEMMAP_E820_RECORD_SIZE,%ecx |
int $0x15 |
jc e820err |
cmpl $E820_SMAP,%eax # verifying BIOS |
cmpl $E820_SMAP,%eax # verifying BIOS |
jne e820err |
cmpl $MEMMAP_E820_RECORD_SIZE,%ecx |
jne e820err # bad record size - bug in bios |
jne e820err # bad record size - bug in bios |
movw %di,%ax # next record |
movw %di,%ax # next record |
addw $MEMMAP_E820_RECORD_SIZE,%ax |
movw %ax,%di |
decb e820counter_boot # buffer is full |
decb e820counter_boot # buffer is full |
jz e820end |
cmpl $0,%ebx |
jne e820loop |
testl %ebx,%ebx |
jnz e820loop |
e820end: |
movb $MEMMAP_E820_MAX_RECORDS,%al |
subb e820counter_boot,%al |
movb %al,e820counter_boot # store # of valid entries in e820counter |
movb %al,e820counter_boot # store # of valid entries in e820counter |
jmp e801begin |
91,7 → 88,7 |
jc e801end |
# fix problem with some BIOSes which use ax:bx rather than cx:dx |
# fix problem with some BIOSes which use ax:bx rather than cx:dx |
testw %cx,%cx |
jnz e801cxdx |
testw %dx,%dx |
105,12 → 102,14 |
shll $6,%edx |
andl $0xffff,%ecx |
addl %ecx,%edx |
addl $0x0400,%edx # add lower 1 MB - it's not included by e801 method |
addl $0x0400,%edx # add lower 1 MB - it's not included by e801 method |
movl %edx,e801memorysize |
e801end: |
ret |
#memory size in 1 kb chunks |
.section K_DATA_START |
#memory size in 1 kb chunks |
e801memorysize: |
.long 0 |
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c |
---|
108,7 → 108,7 |
return; |
rsdp_found: |
printf("%L: ACPI Root System Description Pointer\n", acpi_rsdp); |
printf("%P: ACPI Root System Description Pointer\n", acpi_rsdp); |
acpi_rsdt = (struct acpi_rsdt *) (__native) acpi_rsdp->rsdt_address; |
if (acpi_rsdp->revision) acpi_xsdt = (struct acpi_xsdt *) ((__address) acpi_rsdp->xsdt_address); |
143,7 → 143,7 |
if (!acpi_sdt_check((__u8 *) h)) |
goto next; |
*signature_map[j].sdt_ptr = h; |
printf("%L: ACPI %s\n", *signature_map[j].sdt_ptr, signature_map[j].description); |
printf("%P: ACPI %s\n", *signature_map[j].sdt_ptr, signature_map[j].description); |
} |
} |
next: |
164,7 → 164,7 |
if (!acpi_sdt_check((__u8 *) h)) |
goto next; |
*signature_map[j].sdt_ptr = h; |
printf("%L: ACPI %s\n", *signature_map[j].sdt_ptr, signature_map[j].description); |
printf("%P: ACPI %s\n", *signature_map[j].sdt_ptr, signature_map[j].description); |
} |
} |
next: |