Bochs instruction emulation handlers won't refer to direct fields of instructions like MODRM.NNN or MODRM.RM anymore.
Use generic source/destination indications like SRC1, SRC2 and DST.
All handlers are modified to support new notation. In addition fetchDecode module was modified to assign sources to instructions properly.
Immediate benefits:
- Removal of several duplicated handlers (FMA3 duplicated with FMA4 is a trivial example)
- Simpler to understand fetch-decode code
Future benefits:
- Integration of disassembler into Bochs CPU module, ability to disasm bx_instruction_c instance (planned)
Huge patch. Almost all source files wre modified.
- ported Qemu block driver (written by Alex Beregszaszi and Kevin Wolf)
- added helper functions bx_read_image() and bx_write_image()
- TODO: use helper function for the other disk image modes
- store r/o disk timestamp in FAT format in reserved field of redolog header
- use the VVFAT function fat_datetime() to convert the mtime value
- update redolog header if timestamp is undefined (first usage)
- Bochs now panics if the r/o disk has been modified after the first usage with
the undoable disk image mode to avoid journal file corruption.
- undoable: fixed r/o disk size check
[Bochs-developers] [Patch #3539228] Part 3
> Added dummy EOI handler and all unused IRQ vectors set to this.QEMM 97 does not crash any more.
Looks good. Those "SET_INT_VECTOR comments" should be removed.
Sebastian
- use this feature for floppy read and write operations. This does not mean that
the floppy now works faster than realtime, but it reduces the number of DMA
calls from the CPU.
- removed outdated file: patch.fast-dma-cbothamy
- TODO: implement this feature in the SB16 (8 and 16 bit)
Instruction Set Extensions
Programming Reference
rev013
was published including RDSEED and ADCX/ADOX instructions
add CPUID bits and VMX controls mentioned in the document
- Changed to frequently using segment base to DS based - Added set_DS function
(Set DS value,returns old DS value),(read/write)_(byte/word/dword)_DS macro
to refer DS segment based data.
- Almost BIOS interrupt handler wrapper changed to DS base to use DS-based
reference macro effectiently.