- apply Zwane's patch.highmem patch

It can be easily removed if things go wrong on win32
This commit is contained in:
Christophe Bothamy 2003-01-29 15:01:16 +00:00
parent 7ea16d7991
commit b2dbcdb993
3 changed files with 6 additions and 18 deletions

View File

@ -311,7 +311,7 @@
// is not used, and this section can be ignored.
// =================================================================
#define BX_MAX_DIRTY_PAGE_TABLE_MEGS 64
#define BX_MAX_DIRTY_PAGE_TABLE_MEGS 1024
// Compile in support for virtual/linear/physical breakpoints.
// Set to 1, only those you need. Recommend using only linear

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: main.cc,v 1.219 2003-01-28 16:56:58 vruppert Exp $
// $Id: main.cc,v 1.220 2003-01-29 15:01:09 cbothamy Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -2177,7 +2177,7 @@ bx_init_hardware()
BX_CPU(0)->reset(BX_RESET_HARDWARE);
#else
// SMP initialization
bx_mem_array[0] = new BX_MEM_C ();
bx_mem_array[0] = new BX_MEM_C (bx_options.memory.Osize->get() * 1024*1024);
bx_mem_array[0]->init_memory(bx_options.memory.Osize->get () * 1024*1024);
// First load the optional ROM images

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: misc_mem.cc,v 1.34 2002-11-03 17:17:11 vruppert Exp $
// $Id: misc_mem.cc,v 1.35 2003-01-29 15:01:16 cbothamy Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -120,9 +120,10 @@ BX_MEM_C::~BX_MEM_C(void)
void
BX_MEM_C::init_memory(int memsize)
{
BX_DEBUG(("Init $Id: misc_mem.cc,v 1.34 2002-11-03 17:17:11 vruppert Exp $"));
BX_DEBUG(("Init $Id: misc_mem.cc,v 1.35 2003-01-29 15:01:16 cbothamy Exp $"));
// you can pass 0 if memory has been allocated already through
// the constructor, or the desired size of memory if it hasn't
BX_INFO(("%.2fMB", (float)(BX_MEM_THIS megabytes) ));
if (BX_MEM_THIS vector == NULL) {
// memory not already allocated, do now...
@ -131,21 +132,8 @@ BX_MEM_C::init_memory(int memsize)
BX_MEM_THIS megabytes = memsize / (1024*1024);
BX_INFO(("%.2fMB", (float)(BX_MEM_THIS megabytes) ));
}
// initialize all memory to 0x00
memset(BX_MEM_THIS vector, 0x00, BX_MEM_THIS len);
// initialize ROM area (0xc0000 .. 0xfffff) to 0xff
memset(BX_MEM_THIS vector + 0xc0000, 0xff, 0x40000);
#if BX_PCI_SUPPORT
// initialize PCI shadow RAM area (0xc0000 .. 0xfffff) to 0x00
memset(BX_MEM_THIS shadow, 0x00, 0x40000);
#endif
#if BX_DEBUGGER
// initialize dirty pages table
memset(dbg_dirty_pages, 0, sizeof(dbg_dirty_pages));
if (megabytes > BX_MAX_DIRTY_PAGE_TABLE_MEGS) {
BX_INFO(("Error: memory larger than dirty page table can handle"));
BX_PANIC(("Error: increase BX_MAX_DIRTY_PAGE_TABLE_MEGS"));