PARs are cleared by initial hardware reset. The physical address for incoming
packets must be initialized by the guest's driver.
- added BX_INFO at completion of the physical address setup
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors
* changed data format of text files for save/restore (looks like C/C++ structures,
similar to the format used in old save/restore branches)
* don't set the initial value of shadow bool parameters
* don't set the initial value of bool parameters twice
* cpu/init.cc: missing #undef added
* ne2k.cc: variable tx_timer_active was never set to 1 (type now bx_bool)
* floppy.cc: missing initialization of the 'eot' array in reset() added
* pic.h: type of member 'byte_expected' changed to Bit8u
* pit_wrap.h: unused members removed
- disable usb options if not compiled with usb support
- usb and network dependency list created with menu->clone()
- load usb plugin only if at least one hub is present
- remaining options prepared for rewrite
- proposed parameter tree updated
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
- menu and option names for the network configuration fixed
- NIC init code passes script name to ethernet module init code
- VDE module added to the list of ethernet modules
- constant BX_PACKET_BUFSIZE moved to eth.h
* up to 5 slots can be specified with the 'i440fxsupport' config option
* the pci slot number are hardwired to pci device numbers
* the 'devfunc' value is returned the calling device (useful for multi-function
devices)
* the core of the i440FX chipset is hardwired to pci device 1 + 2; usb is still
optional and appears at device 1, function 2
- ne2k: enable pci features if connected to a pci slot
- ne2k: asic data port supports 32-bit access if ne2k-pci is active
- pci2isa: improved error messages for ELCR1 and ELCR2
* PCI initialization and configuration space handling added
* ASIC data port now supports 32-bit r/w if PCI is present
* PCI device will be enabled if the requested base address is >= 0x1000
- ne2k: 8390 command register is now present on all pages
- ne2k: some panics changed to errors, debug messages improved
- PCI host bridge is now a core plugin (if enabled) and initialized earlier
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
wrong. Now the bits are working right, but loopback is still not present.
- loopback should be active if DCR is in loopback mode and TCR loop mode is > 0
- reading the FIFO is only valid in loopback mode (causes a BX_ERROR for now)
Unallowed cases are now handled in devices.cc and cause a BX_ERROR.
- io_len mask fixed and unnecessary io_len checks removed in
* devices.cc
* extfpuirq.cc
* gameport.cc
* ne2k.cc
* pit.cc
* pit_wrap.cc (i/o register function calls replaced by DEV_* macro calls)
- TODO: implement this in all other devices
* changed all %ll format descriptions to FMT_LL macro so that
Microsoft Visual C works correctly (it uses %I64)
* missing type conversions added
* cdrom.cc: variable types for win32 fixed
* removed some unused variables in eth_win32.cc and harddrv.cc
* added missing includes in make_cmos_image.c and niclist.c
It's not clear what the correct behavior is in that case, (we
clearly don't currently handle it correctly) so
simply avoiding it is the easiest thing to do. As such, this
option is ON by default.