[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/14] pcbios: make set_e820_range() full 64bit awar
From: |
Isaku Yamahata |
Subject: |
[Qemu-devel] [PATCH 04/14] pcbios: make set_e820_range() full 64bit aware. |
Date: |
Wed, 30 Sep 2009 19:18:39 +0900 |
This patch makes e820 can return full 64bit value
instead of 40 bits.
This patch is preparation to make e820 cover PCIe MMCONFIG area
which is 64bit address in general.
Signed-off-by: Isaku Yamahata <address@hidden>
---
rombios.c | 24 ++++++++++++------------
1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/rombios.c b/rombios.c
index 560e6d5..6efd5d7 100644
--- a/rombios.c
+++ b/rombios.c
@@ -4466,21 +4466,21 @@ void set_e820_range(ES, DI, start, end, extra_start,
extra_end, type)
Bit16u DI;
Bit32u start;
Bit32u end;
- Bit8u extra_start;
- Bit8u extra_end;
+ Bit32u extra_start;
+ Bit32u extra_end;
Bit16u type;
{
write_word(ES, DI, start);
write_word(ES, DI+2, start >> 16);
write_word(ES, DI+4, extra_start);
- write_word(ES, DI+6, 0x00);
+ write_word(ES, DI+6, extra_start >> 16);
end -= start;
extra_end -= extra_start;
write_word(ES, DI+8, end);
write_word(ES, DI+10, end >> 16);
write_word(ES, DI+12, extra_end);
- write_word(ES, DI+14, 0x0000);
+ write_word(ES, DI+14, extra_end >> 16);
write_word(ES, DI+16, type);
write_word(ES, DI+18, 0x0);
@@ -4494,7 +4494,7 @@ int15_function32(regs, ES, DS, FLAGS)
Bit32u extended_memory_size=0; // 64bits long
Bit32u extra_lowbits_memory_size=0;
Bit16u CX,DX;
- Bit8u extra_highbits_memory_size=0;
+ Bit32u extra_highbits_memory_size=0;
BX_DEBUG_INT15("int15 AX=%04x\n",regs.u.r16.ax);
@@ -4579,42 +4579,42 @@ ASM_END
{
case 0:
set_e820_range(ES, regs.u.r16.di,
- 0x0000000L, 0x0009f000L, 0, 0, 1);
+ 0x0000000L, 0x0009f000L, 0L, 0L, 1);
regs.u.r32.ebx = 1;
break;
case 1:
set_e820_range(ES, regs.u.r16.di,
- 0x0009f000L, 0x000a0000L, 0, 0, 2);
+ 0x0009f000L, 0x000a0000L, 0L, 0L, 2);
regs.u.r32.ebx = 2;
break;
case 2:
set_e820_range(ES, regs.u.r16.di,
- 0x000e8000L, 0x00100000L, 0, 0, 2);
+ 0x000e8000L, 0x00100000L, 0L, 0L, 2);
regs.u.r32.ebx = 3;
break;
case 3:
#if BX_ROMBIOS32
set_e820_range(ES, regs.u.r16.di,
0x00100000L,
- extended_memory_size - ACPI_DATA_SIZE
,0, 0, 1);
+ extended_memory_size - ACPI_DATA_SIZE
,0L, 0L, 1);
regs.u.r32.ebx = 4;
#else
set_e820_range(ES, regs.u.r16.di,
0x00100000L,
- extended_memory_size, 1);
+ extended_memory_size, 0L, 0L, 1);
regs.u.r32.ebx = 5;
#endif
break;
case 4:
set_e820_range(ES, regs.u.r16.di,
extended_memory_size - ACPI_DATA_SIZE,
- extended_memory_size ,0, 0, 3); // ACPI
RAM
+ extended_memory_size ,0L, 0L, 3); //
ACPI RAM
regs.u.r32.ebx = 5;
break;
case 5:
/* 256KB BIOS area at the end of 4 GB */
set_e820_range(ES, regs.u.r16.di,
- 0xfffc0000L, 0x00000000L ,0, 0, 2);
+ 0xfffc0000L, 0x00000000L ,0L, 0L, 2);
if (extra_highbits_memory_size ||
extra_lowbits_memory_size)
regs.u.r32.ebx = 6;
else
--
1.6.0.2
- [Qemu-devel] [PATCH 06/14] pcbios: rombios32: make pci space assigner preferchable memory aware., (continued)
- [Qemu-devel] [PATCH 06/14] pcbios: rombios32: make pci space assigner preferchable memory aware., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 02/14] pcbios: fix makesym.perl, Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 14/14] pcibos/acpi dsdt: APIC mode support for q35 chipset, Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 08/14] pcibos: initialize q35 chipset., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 01/14] pcbios: add generated files to dot gitignore., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 03/14] pcbios: remove iasl output file when error., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 05/14] pcbios: rombios32: make pci memory space assignment 64bit aware., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 12/14] pcbios: make pci bar initialization to be aware of preferchable memory., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 07/14] pcbios: enable debug output for debug., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 10/14] pcibos: add mcfg entry to ACPI table for q35 pcie., Isaku Yamahata, 2009/09/30
- [Qemu-devel] [PATCH 04/14] pcbios: make set_e820_range() full 64bit aware.,
Isaku Yamahata <=
- [Qemu-devel] [PATCH 11/14] pcbios: reserve mcfg area by e820 for linux to use mcfg., Isaku Yamahata, 2009/09/30
- [Qemu-devel] Re: [PATCH 00/14] pcbios: support q35 chipset, Anthony Liguori, 2009/09/30