- return model=2 so that Linux recognizes the processor as having an APIC.
We don't really know what Hammer returns.
- in SetCR4, allow bits 9 and 10 to be written
- added jump to [0x40:0x67] after reset if shutdown status is 0x05. Fixes bug [ 601166 ] CMOS Problem @ "0x0F Index 0x05 data"
- changed various occurences of "mov ax, #0000" by "xor ax, ax"
- fixed serious bugs in EDD function 0x48
- included Volker's rombios recent changes to PCIBIOS
- initialization of DMA controller on POST entry
The function gets the real time in useconds and puts it in
a Bit64u. This function is defined when:
BX_HAVE_REALTIME_USEC is 1.
Right now, BX_HAVE_REALTIME_USEC is defined to be BX_HAVE_GETTIMEOFDAY
and bx_get_realtime64_usec is defined in terms of gettimeofday().
However, it could be defined in terms of any other method of obtaining
the current time accurate to the usecond. That is why I moved the
function to osdep and added the new define.
the icache pageStamp check too early, before it was known
that the TLB entry would produce a physical address in
range of the normal part of physical memory. PCI accesses
were causing seg faults because of this. I haven't tested
this for PCI.
- Features :
. number of active channels defined at boot-time config
. new options in bochsrc
. up to 8 devices support (disks or cdroms)
. up to 4 cdrom devices can be changed at runtime config
. wxwindows config interface
which says to paste getB_ with flag and then paste with (. It should
be "getB_##flag(void)". Some preprocessors are complaining about pasting
the symbol with the paren.
of (1 & (val32>>N)), and added a getB_?F() accessor for special
cases which need a strict binary value (exactly 0 or 1). Most
code only needed a value for logical comparison. I modified the
special cases which do need a binary number for shifting and
comparison between flags, to use the special getB_?F() accessor.
Cleaned up memory.cc functions a little, now that all accesses
are within a single page.
Fixed a (not very likely encountered) bug in fetchdecode.cc (and
fetchdecode64.cc) where a 2-byte opcode starting with a prefix
starts at the last offset on a page. There were no checks
on the segment overrides for a boundary condition. I added them.
The eflags enhancements added just a tiny bit of performance.
- don't allow MMX on cpu level < 5.
- require FPU support on cpu level >= 55
- don't allow MMX support without FPU support (moved this check from
cpu/i387.h to config.h)
- PacketSetReadTimeout: instead of calling with a very short timeout,
now we call it with -1 which means no timeout.
- Psyon found that Peter Tattam's changes, while necessary for win95, broke
WinNT/2000. So now on Windows NT/2000, we still call
WaitForSingleObject(lpAdapter->ReadEvent,0) but we ignore the return value.
parameter values associated with the dialog and updated the wxWindows
controls. At the time I didn't realize that I was overriding
wxWindow::Refresh() which repaints the window. Later, I renamed the method
to CopyParamToGui() to make it more clear, but many of the callers in
wxmain.cc continued to call Refresh(), which now reverted to the parent class
wxWindow::Refresh(). Since there was no compile error I didn't notice for a
while, but it caused the ParamDialogs to repaint themselves constantly but
never actually change their values. This is now fixed by changing those
method calls to CopyParamToGui().
started using a wxTimer to trigger the redraws. Now instead of calling
MyPanel::OnPaint directly, I call Refresh() instead. This makes the Windows
display work correctly.
I'm not sure why this wasn't needed before, but after switching to
wxWindows 2.3.3 it seems to be important.
- in a wxLogDebug() call I was trying to pass a struct instead of a string.
Fixed that.