[prev in list] [next in list] [prev in thread] [next in thread]
List: bochs-cvs
Subject: [Bochs-cvs] CVS: bochs/memory memory.cc, 1.83, 1.84 memory.h, 1.69,
From: "Stanislav Shwartsman" <sshwarts () users ! sourceforge ! net>
Date: 2010-05-18 8:54:03
Message-ID: E1OEIYu-0007rv-4E () sfp-cvsdas-2 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Update of /cvsroot/bochs/bochs/memory
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv30202/memory
Modified Files:
memory.cc memory.h misc_mem.cc
Log Message:
ready to enlarge supported BIOS ROM to 2M
Index: memory.cc
===================================================================
RCS file: /cvsroot/bochs/bochs/memory/memory.cc,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -d -r1.83 -r1.84
--- memory.cc 18 May 2010 07:44:37 -0000 1.83
+++ memory.cc 18 May 2010 08:54:01 -0000 1.84
@@ -291,7 +291,7 @@
case 0x0: // Read from ROM
if ((a20addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- *data_ptr = BX_MEM_THIS rom[a20addr & BIOS_MASK];
+ *data_ptr = BX_MEM_THIS rom[BIOS_MAP_LAST128K(a20addr)];
}
else {
*data_ptr = BX_MEM_THIS rom[(a20addr & EXROM_MASK) + BIOSROMSZ];
@@ -312,7 +312,7 @@
}
else if ((a20addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- *data_ptr = BX_MEM_THIS rom[a20addr & BIOS_MASK];
+ *data_ptr = BX_MEM_THIS rom[BIOS_MAP_LAST128K(a20addr)];
}
else {
*data_ptr = BX_MEM_THIS rom[(a20addr & EXROM_MASK) + BIOSROMSZ];
Index: memory.h
===================================================================
RCS file: /cvsroot/bochs/bochs/memory/memory.h,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- memory.h 17 May 2010 19:42:30 -0000 1.69
+++ memory.h 18 May 2010 08:54:01 -0000 1.70
@@ -36,11 +36,14 @@
class BX_CPU_C;
-#define BIOSROMSZ ((Bit32u)(1 << 19)) // 512KB BIOS ROM @0xfff80000, must be a power of 2
+ // 512K BIOS ROM @0xfff80000
+#define BIOSROMSZ ((Bit32u)(1 << 19)) // 2M BIOS ROM @0xffe00000, must be a power of 2
#define EXROMSIZE (0x20000) // ROMs 0xc0000-0xdffff (area 0xe0000-0xfffff=bios mapped)
#define BIOS_MASK (BIOSROMSZ-1)
#define EXROM_MASK (EXROMSIZE-1)
+#define BIOS_MAP_LAST128K(addr) ((addr) & BIOS_MASK)
+
typedef bx_bool (*memory_handler_t)(bx_phy_address addr, unsigned len, void *data, void *param);
struct memory_handler_struct {
Index: misc_mem.cc
===================================================================
RCS file: /cvsroot/bochs/bochs/memory/misc_mem.cc,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -d -r1.146 -r1.147
--- misc_mem.cc 18 May 2010 07:44:37 -0000 1.146
+++ misc_mem.cc 18 May 2010 08:54:01 -0000 1.147
@@ -431,7 +431,7 @@
case 0x0: // Read from ROM
if ((addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- *buf = BX_MEM_THIS rom[addr & BIOS_MASK];
+ *buf = BX_MEM_THIS rom[BIOS_MAP_LAST128K(addr)];
}
else {
*buf = BX_MEM_THIS rom[(addr & EXROM_MASK) + BIOSROMSZ];
@@ -453,7 +453,7 @@
// must be in C0000 - FFFFF range
else if ((addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- *buf = BX_MEM_THIS rom[addr & BIOS_MASK];
+ *buf = BX_MEM_THIS rom[BIOS_MAP_LAST128K(addr)];
}
else {
*buf = BX_MEM_THIS rom[(addr & EXROM_MASK) + BIOSROMSZ];
@@ -612,7 +612,7 @@
case 0x0: // Read from ROM
if ((a20addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- return (Bit8u *) &BX_MEM_THIS rom[a20addr & BIOS_MASK];
+ return (Bit8u *) &BX_MEM_THIS rom[BIOS_MAP_LAST128K(a20addr)];
}
else {
return (Bit8u *) &BX_MEM_THIS rom[(a20addr & EXROM_MASK) + BIOSROMSZ];
@@ -634,7 +634,7 @@
// must be in C0000 - FFFFF range
else if ((a20addr & 0xfffe0000) == 0x000e0000) {
// last 128K of BIOS ROM mapped to 0xE0000-0xFFFFF
- return (Bit8u *) &BX_MEM_THIS rom[a20addr & BIOS_MASK];
+ return (Bit8u *) &BX_MEM_THIS rom[BIOS_MAP_LAST128K(a20addr)];
}
else {
return((Bit8u *) &BX_MEM_THIS rom[(a20addr & EXROM_MASK) + BIOSROMSZ]);
------------------------------------------------------------------------------
_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic