Stanislav Shwartsman
4539848451
Fixed VMX bug reported by Russ Cox
2011-01-10 22:37:05 +00:00
Volker Ruppert
3520b9b154
- handle file attribute changes (system, hidden and read-only)
...
- some work on FAT12 (required for floppy support)
- moved write support code from close() to new method commit_changes()
2011-01-10 21:15:05 +00:00
Stanislav Shwartsman
e31eb4a677
typo bug fixed
2011-01-10 06:27:19 +00:00
Stanislav Shwartsman
85234807d1
fixed typo
2011-01-09 20:36:13 +00:00
Stanislav Shwartsman
a80b44b6db
split more sse ops
2011-01-09 20:18:02 +00:00
Volker Ruppert
2bb3d74f70
- fixed handling of modified files if the first cluster has been changed
...
- handle deletes only after parsing the new directory tree
- show file attributes bits that have been modified
2011-01-09 19:20:11 +00:00
Volker Ruppert
129ce92871
- check mappings for delete request in reverse order to avoid removing non-empty
...
directories
- some other small changes
2011-01-09 09:19:05 +00:00
Volker Ruppert
e5122a3ccd
- experimental real write added (commit changes on exit). When Bochs is shutting
...
down and the vvfat image has been modied, the user is asked if the vvfat
directory should also be modified. Currently not handled: remove non-empty
directories, system-reserved clusters and file attributes.
- some small related changes
2011-01-09 00:36:42 +00:00
Stanislav Shwartsman
c5aca5ac21
move function to inline
2011-01-08 19:50:22 +00:00
Stanislav Shwartsman
37204c0aaa
split more SSE ops
2011-01-08 12:28:25 +00:00
Stanislav Shwartsman
a1bc92a46b
split more SSE opcodes
2011-01-08 11:20:29 +00:00
Stanislav Shwartsman
205351f44e
Split R/M all SSE fetchdecode tables
...
- next step optimize tables
2011-01-08 09:53:52 +00:00
Volker Ruppert
6d7900c8a5
- redolog_t: store current image position in variable and update it after
...
successful reads and writes (required for vvfat write support)
- added multiple sector read / write support to the undoable and volatile disk
image mode (required for USB MSD)
2011-01-07 18:35:34 +00:00
Volker Ruppert
98a3f99d7b
- improved vvfat documentation
2011-01-06 18:15:28 +00:00
Volker Ruppert
e809889d2a
- added some documentation for the 'vvfat' disk image mode (to be completed)
2011-01-05 22:53:44 +00:00
Stanislav Shwartsman
9c4cca1144
optimize SMC detection from memory.cc as well
2011-01-04 21:03:44 +00:00
Volker Ruppert
7826f45408
- updated changes
2011-01-04 20:17:51 +00:00
Volker Ruppert
2511bf45a8
- always place the 'dot entries' on top of a subdirectory (for some host
...
file systems this position is not mandatory)
- some small code cleanups
- disabled currently unused code
2011-01-04 18:39:51 +00:00
Stanislav Shwartsman
fe0685c7f9
fine granular SMC detection (128b granularity used)
...
significant reduction (>80%) of false SMC flushes
2011-01-04 16:17:20 +00:00
Volker Ruppert
5dba54c861
- added support for boot sector file without MBR file. Now all cases are handled
...
correctly: MBR + bootsector, MBR only, boot sector only and none of the files.
2011-01-03 19:03:08 +00:00
Volker Ruppert
3ef57e9f7e
- fixed some format warnings in the devices code
2011-01-02 16:51:08 +00:00
Volker Ruppert
a12768b06d
- fixed Bit64u/Bit64s format warnings on 64-bit Linux
2011-01-02 16:13:06 +00:00
Volker Ruppert
e34a9da72c
- improved FAT32 support (should be okay now)
...
- implemented reading boot sector from file
- VVFAT TODO: apply file and directory changes on exit
2011-01-02 14:44:20 +00:00
Volker Ruppert
747f2ba541
- experimental FAT32 support (works in most cases)
...
- volatile write support using the hdimage redolog_t class
(TODO: apply directory and file changes on exit)
- updated makefile dependencies
2011-01-01 19:14:25 +00:00
Volker Ruppert
6d0b6c69b9
- implemented reading MBR from file (TODO: read boot sector)
...
- value of 'sectors_per_fat' must be 32 bit (for FAT32)
- some other small fixes
2010-12-31 15:39:27 +00:00
Stanislav Shwartsman
2946d0ac26
split more SSE ops
2010-12-30 21:45:39 +00:00
Stanislav Shwartsman
f9f868247a
split more SSE ops
2010-12-30 20:35:10 +00:00
Volker Ruppert
a9a6bbfe22
- added support for reserved sectors between bootsector and FAT containing a copy
...
of the bootsector and the "FS info sector" (required for FAT32)
- implemented a more accurate way to calculate the number of clusters and the
corresponding FAT size
- some other small fixes
2010-12-30 12:30:58 +00:00
Stanislav Shwartsman
2a6df4fc1e
Spelling fixes from VirtualBox.
...
Sebastian
2010-12-29 06:39:53 +00:00
Volker Ruppert
c521ec6ba1
- fixed MBR and boot sector values
2010-12-28 22:31:40 +00:00
Volker Ruppert
d45c98a267
- fixed crash caused by uninitialized value (found with MSVC)
...
- fixed cylinder overflow check
2010-12-27 22:37:36 +00:00
Volker Ruppert
52e4917f52
use C/H/S values from image for the CMOS setup
2010-12-27 18:37:25 +00:00
Volker Ruppert
a8ced63e31
- more fixes for configurable disk geometry
...
- check the root entries limit of FAT16
- some work on the FAT32 support (not yet complete)
- report volume creation date and time
- some other small fixes
2010-12-26 23:13:29 +00:00
Stanislav Shwartsman
fd5558d4be
another way to implement this op
2010-12-26 20:54:23 +00:00
Stanislav Shwartsman
25b1e2e58d
split more SSE ops
2010-12-26 20:41:47 +00:00
Stanislav Shwartsman
cb43e52240
asize mask
2010-12-25 19:46:07 +00:00
Stanislav Shwartsman
f705cbbc63
rename functions
2010-12-25 19:34:43 +00:00
Stanislav Shwartsman
1bd512e98d
split more SSE ops, optimizations in MMX code
2010-12-25 17:04:36 +00:00
Stanislav Shwartsman
d0ee1c1b80
Fixed for compilation with cpu-level=3
2010-12-25 15:00:20 +00:00
Stanislav Shwartsman
c005444d5b
split more SSE opcodes
2010-12-25 07:59:15 +00:00
Volker Ruppert
ba41f4cbff
- set cluster size depending on disk size (FAT32 support not complete)
...
- several fixes related to configurable geometry (some more tests required)
- skip MBR and boot sector image files when reading directory (still unused)
- support overriding cylinder value with 0 in the command line
- don't return failure value when reading unused sectors
- increment buffer pointer when reading more than one sector
2010-12-24 20:47:22 +00:00
Stanislav Shwartsman
fee7a91d86
Fixed compilation with cpu-level=3
2010-12-24 16:34:55 +00:00
Stanislav Shwartsman
040a8e1a3a
split bunch of SSE opcodes
2010-12-24 08:35:00 +00:00
Volker Ruppert
341c764e1f
- added initial 'virtual VFAT' image support (shadows a local directory)
...
* ported the read part of the Qemu vvfat block driver
* added win32 specific directory functions (required for MSVC)
* TODO: write support, FAT32 support, read MBR and boot sector from file
2010-12-23 16:17:12 +00:00
Stanislav Shwartsman
709059ddcc
integrate misaligned SSE into code
2010-12-22 21:24:19 +00:00
Stanislav Shwartsman
43600f3756
complete rework of SSE code
...
next step - split all SSE opcodes by ModC0
2010-12-22 21:16:02 +00:00
Volker Ruppert
1e3f3ee0c0
- added new hdimage method get_capabilities() that can return special flags
...
- HDIMAGE_HAS_GEOMETRY flag added to vmware3 & vmware4 modes (these modes use
the CHS values from image file)
- harddrv: renamed pointer to hdimage object
2010-12-21 21:47:41 +00:00
Stanislav Shwartsman
a63b9900a7
optimization
2010-12-19 22:50:28 +00:00
Stanislav Shwartsman
29a674e520
split rd/wr CR opcodes for simplicity
2010-12-19 22:36:19 +00:00
Stanislav Shwartsman
c7017b1c05
simplification
2010-12-19 21:41:15 +00:00
Stanislav Shwartsman
f2355a8249
Fixed FXSAVE/FXRSTOR exceptions order
2010-12-19 21:07:46 +00:00
Stanislav Shwartsman
4a85a8680e
SSE optimization
2010-12-19 07:06:40 +00:00
Stanislav Shwartsman
48d94d6dc3
optimization
2010-12-18 11:58:16 +00:00
Volker Ruppert
99eb027531
- modified usb_common plugin implementation to make Windows DLL plugins compile
...
* added new "pseudo device" for the USB device control (init, send message)
* moved register_state() call from the hubs to the common device init code
- fixed unresolved symbols in usb_msd code
2010-12-14 21:20:37 +00:00
Volker Ruppert
3eba961c0d
- USB documentation updates
2010-12-11 08:25:39 +00:00
Volker Ruppert
29c8824bab
- added support for HD image modes in usb_msd (TODO: specify journal file)
...
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
2010-12-10 17:02:18 +00:00
Stanislav Shwartsman
1047acb2cc
rename SSE register param - prepare for wide SSE register (AVX)
2010-12-06 21:52:41 +00:00
Stanislav Shwartsman
d60b7c0919
rename accessor for opcodeReg() in instruction
2010-12-06 21:45:56 +00:00
Volker Ruppert
fab6cfdf98
- regenerated after usb_common plugin separation
2010-12-06 18:53:21 +00:00
Volker Ruppert
c214fffa5e
- created a separate plugin that contains the USB devices, the devices init
...
code and the generic USB stuff. Up to now, in plugin mode each host controller
staticly links all this stuff with the plugin library. So it existed twice and
e.g. it wasn't possible to create a unique serial number for disks/cdroms
connected to different HCs. Some other sanity checks could be added now, too.
- Added a register mechanism for the USB device init function in the main
devices code.
- TODO: Some other device plugins could be fixed the same way: network devices
(sharing ethernet modules), harddrive & usb_msd (sharing hdimage and
cdrom)
2010-12-06 18:51:13 +00:00
Volker Ruppert
cd7b703a5b
- init() method added to the USB device class
...
- new USB device class method get_info() for improved device connect BX_INFOs
- USB printer: output file creation failure now causes BX_ERROR and disconnect
instead of BX_PANIC (similar to usb_msd)
- removed obsolete include statements
2010-12-05 13:09:41 +00:00
Stanislav Shwartsman
dab658f136
update with AMD CPUID spec from sep2010
2010-11-27 20:20:32 +00:00
Volker Ruppert
45148b3eb7
- fixed compiler warning and big endian issue in "send buffer" command code
2010-11-26 15:42:41 +00:00
Volker Ruppert
cdfedaa9bc
- data type SOCKET doesn't exist on non-win32 platforms
2010-11-23 20:26:37 +00:00
Stanislav Shwartsman
4a8d69caf6
bugfix for x86-64 mode
2010-11-23 15:42:26 +00:00
Stanislav Shwartsman
9aa503cb9d
fixed warnings for win64 compilation
2010-11-23 14:59:36 +00:00
Volker Ruppert
50d9fa3e9a
- added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724 )
2010-11-22 22:11:30 +00:00
Volker Ruppert
6573d29d1a
- log options: added missing entry for returning to parent menu
2010-11-22 21:55:56 +00:00
Volker Ruppert
21d53ee619
- setting the ISR transmit complete bit doesn't depend on the corresponding IMR bit
2010-11-21 16:21:41 +00:00
Stanislav Shwartsman
d011594114
Added option to disable MWAIT using .bochsrc
2010-11-21 12:02:12 +00:00
Volker Ruppert
a41ab5ccf9
- attempt to fix win64 compilation (Win 95/98/ME specific floppy access method
...
not required on this platform)
2010-11-20 12:37:00 +00:00
Volker Ruppert
3d0a3a0c6e
- removed debug output
2010-11-19 18:42:11 +00:00
Volker Ruppert
7d3d32afcc
- fixed panic when using floppy write protection parameter in bochsrc
2010-11-19 18:41:38 +00:00
Stanislav Shwartsman
4feda0c3fe
compilation fix w/o vmx
2010-11-19 08:39:52 +00:00
Stanislav Shwartsman
85250931dd
fix typo
2010-11-13 13:06:00 +00:00
Stanislav Shwartsman
e5bb07e366
a few more steps towards win64 compilation under windows
2010-11-13 13:00:26 +00:00
Stanislav Shwartsman
8c45aa2454
fixed buffer overflow in perv commit
2010-11-13 09:18:16 +00:00
Stanislav Shwartsman
36291b0b1d
accessor to upper part of 64-bit reg
2010-11-12 20:46:59 +00:00
Stanislav Shwartsman
c676875421
vmcs read/write check
2010-11-12 20:26:01 +00:00
Stanislav Shwartsman
07d68e9222
fix for win64 compilation
2010-11-12 18:20:35 +00:00
Stanislav Shwartsman
e6981218dc
next step for fully configurable CPU + more optimal VMX execution
...
- check at startup time which VMX fields are accessible
- next step: simplify VMREAD and VMWRITE instructions - eliminate switch statements
2010-11-11 21:41:03 +00:00
Stanislav Shwartsman
a6d2047f4d
dos2unix
2010-11-11 17:09:13 +00:00
Stanislav Shwartsman
93cc615a40
moved vmcs stuff to separate file
2010-11-11 16:25:45 +00:00
Stanislav Shwartsman
9e6bf42527
x87 fix in 64 bit mode
2010-11-11 15:48:56 +00:00
Stanislav Shwartsman
4aef7661aa
Fix buffer overflow
2010-11-03 21:46:09 +00:00
Stanislav Shwartsman
d9734249b9
compilation fixes for mingw64 gcc
2010-11-01 15:02:14 +00:00
Stanislav Shwartsman
8d46433679
compilation fixes for mingw64 gcc
2010-11-01 14:50:18 +00:00
Stanislav Shwartsman
024c0073fc
fix for makefile
2010-10-25 21:05:44 +00:00
Stanislav Shwartsman
49c85b07f6
Fixed address size wrap
2010-10-18 22:19:45 +00:00
Volker Ruppert
e027d2d8e0
- replaced underscore by minus character in internal links (possible docbook
...
compilation failure
2010-10-17 19:50:46 +00:00
Stanislav Shwartsman
d6f2454414
fixed x87 bug
2010-10-17 16:24:33 +00:00
Stanislav Shwartsman
dc72673bb3
Fixed arpl disasm
2010-10-11 15:33:11 +00:00
Stanislav Shwartsman
5ea2591cd9
fixes
2010-10-07 20:40:01 +00:00
Stanislav Shwartsman
13e2b6eba1
added new file
2010-10-07 16:40:00 +00:00
Stanislav Shwartsman
6d089dd238
changed CPUID constants to defines
2010-10-07 16:39:31 +00:00
Stanislav Shwartsman
3f2b440584
added compilation DATE/TIME after Bochs version string
2010-10-02 20:52:47 +00:00
Stanislav Shwartsman
e3431a98e6
Bugfix for 32-bit shift/rotate in 64-bit mode
2010-10-01 09:13:21 +00:00
Stanislav Shwartsman
a9b569978a
bugfix
2010-09-29 17:46:30 +00:00
Stanislav Shwartsman
dcc11e1b85
naming change
2010-09-28 14:18:58 +00:00
Stanislav Shwartsman
f2a87171c1
Fixed BX_INSTR_OPCODE callback, now its implementation closer to original definition.
...
New, updated definition of the callback:
void bx_instr_opcode(unsigned cpu, const Bit8u *opcode, unsigned len, bx_bool is32, bx_bool is64);
The callback is called each time, when Bochs completes to decode a new
instruction. Through this callback function Bochs could provide an opcode of
the instruction, opcode length and an execution mode (16/32/64).
Please note, that Bochs uses translation caches so each simulated instruction
might be executed multiple times but decoded only once.
2010-09-27 15:29:36 +00:00
Stanislav Shwartsman
9ed116ada7
avoid similar issues (like it was in mmx.cc) in future
2010-09-26 20:35:24 +00:00
Stanislav Shwartsman
471d33fc1d
fix BE issue
2010-09-26 20:20:27 +00:00
Stanislav Shwartsman
715e65dd05
Merge EDD INT 15 Fn 48h code between int13_harddisk() and int13_cdrom().
...
Sebastian
2010-09-26 18:38:58 +00:00
Volker Ruppert
e99736e27a
- regenerated after latest changes
2010-09-26 06:43:28 +00:00
Stanislav Shwartsman
f655e33779
imm mode2 could be only with imm_mode1
2010-09-25 10:17:04 +00:00
Stanislav Shwartsman
75f2ae9c18
fetchdecode simplification rework
2010-09-25 09:55:40 +00:00
Stanislav Shwartsman
3994761b08
Patch by Sebastian:
...
Missing EDD fixes for cdrom code
2010-09-25 07:21:25 +00:00
Stanislav Shwartsman
8308a47168
trying to get rid of b1() in instruction class
2010-09-24 21:15:16 +00:00
Stanislav Shwartsman
369aba757d
style change
2010-09-23 20:38:02 +00:00
Stanislav Shwartsman
e0fcc80ec3
introduce bswap functions, big endian fix for CPUID
2010-09-20 20:43:16 +00:00
Stanislav Shwartsman
a6ad162346
separate param tree code out of rest of siminterface
...
create new module
2010-09-16 21:46:45 +00:00
Stanislav Shwartsman
273f256603
some changes in siminterface
2010-09-12 20:47:23 +00:00
Stanislav Shwartsman
a0705392d3
Fixed failure on BE hosts
2010-09-12 17:33:34 +00:00
Stanislav Shwartsman
1107ce138e
small fetchdecode optimization
2010-09-07 19:54:50 +00:00
Stanislav Shwartsman
c7dba3525a
Fixed warnings (patch from mailing list)
2010-08-15 19:57:50 +00:00
Volker Ruppert
deb572b355
- recompiled BIOS images
2010-08-07 20:59:07 +00:00
Stanislav Shwartsman
e989201277
I could not find DPTE revision 0x10 mentioned in the specifications.
...
Size of 66 bytes is invalid. Also clear DPT "reserved3" field.
Sebastian
2010-08-07 06:58:10 +00:00
Volker Ruppert
19398ed178
- added missing break statement
2010-08-02 19:26:13 +00:00
Stanislav Shwartsman
fd155a5f56
Bios fixes by Sebastian
2010-08-01 21:54:32 +00:00
Stanislav Shwartsman
31e8bfc5a7
Fixed fsgsbase cpuid bit
2010-07-22 20:19:00 +00:00
Stanislav Shwartsman
55cb12badf
fixed missed canonical failure on system access
2010-07-22 20:12:25 +00:00
Stanislav Shwartsman
91ac0df65c
implemented GS/FS BASE access instructions published in _319433-007.pdf document
2010-07-22 16:41:59 +00:00
Stanislav Shwartsman
7f7c249934
disasm and some cpuid code according to recently published AVX_319433-007.pdf document
2010-07-22 15:12:08 +00:00
Stanislav Shwartsman
21e39a66c9
print cpuid options in more readable form (less options in a line)
2010-07-16 21:10:48 +00:00
Stanislav Shwartsman
cd6314b65c
Added ability to configure CPUID stepping through .bochsrc.
...
Next is CPUID model/extended model.
2010-07-16 21:03:52 +00:00
Stanislav Shwartsman
59ad9d8de8
Fixes
2010-07-15 20:18:03 +00:00
Stanislav Shwartsman
9a104c8f65
update bx_write_floppy_options with write protected floppy
2010-07-03 11:13:40 +00:00
Volker Ruppert
8b46dcfc0b
- added parameter to control the floppy media write protection. This is based on
...
the SF patch #1539417 , but rewritten from scratch (patch too old). Differences
to the original version:
* internal parameter name "readonly"
* update parameter if floppy image is readonly
* wxWidgets support
* documentation updates
* no specific toolbar buttons
2010-07-03 05:34:27 +00:00
Stanislav Shwartsman
41ddb26c6f
Fixed save/restore of x87 regs
2010-07-01 20:00:33 +00:00
Stanislav Shwartsman
4cf15cd18b
Fixed RDTSCP VMEXIT reason
2010-07-01 16:31:46 +00:00
Stanislav Shwartsman
d47c84320a
swap bits in instr
2010-06-29 19:38:56 +00:00
Stanislav Shwartsman
8e94474e03
bug fix
2010-06-21 05:35:45 +00:00
Stanislav Shwartsman
63a984bf71
typo fix
2010-06-18 18:47:21 +00:00
Volker Ruppert
e801f4a256
- removed floppy method get_media_status() (floppy media change handler already
...
updates the parameter)
2010-06-18 17:23:50 +00:00
Stanislav Shwartsman
8099effaf5
typo
2010-06-18 14:24:45 +00:00
Stanislav Shwartsman
9ec1d79b8c
warning fix
2010-06-18 14:15:53 +00:00
Stanislav Shwartsman
ca9ab30aec
Update config.guess/config.sub o latest revision (May 2010)
2010-06-10 17:56:46 +00:00
Stanislav Shwartsman
a896dbfb2d
compilation fix for win64
2010-06-10 15:59:04 +00:00
Stanislav Shwartsman
eaa2e0e0ea
[PATCH] cpu/init.cc: proper CPL restore in after_restore_statE
2010-06-04 20:31:04 +00:00
Stanislav Shwartsman
23a28d2892
Fixed compilation with vs2008
2010-06-03 19:36:13 +00:00
Stanislav Shwartsman
86c1df8168
updated vs2008 workspace
2010-06-03 19:10:03 +00:00
Stanislav Shwartsman
f3980b522f
bugfux
2010-06-02 05:44:12 +00:00
Stanislav Shwartsman
b195cb7ccf
bugfix in GUI dbg
2010-05-29 18:55:59 +00:00
Stanislav Shwartsman
67aec1dc22
warning fix
2010-05-26 18:37:54 +00:00
Stanislav Shwartsman
84880793f3
optimize for speed
2010-05-26 18:34:25 +00:00
Stanislav Shwartsman
95df639614
compilation fix
2010-05-25 18:52:01 +00:00
Volker Ruppert
fb668371f4
- fixed mouse capture toggle with F12 on win32 (missing key release)
2010-05-24 22:06:17 +00:00
Stanislav Shwartsman
ecde5ffea9
simplify disasm tables
2010-05-23 20:30:23 +00:00
Stanislav Shwartsman
2dbe559ad9
simpler disasm tables
2010-05-23 20:05:14 +00:00
Stanislav Shwartsman
8d8d1590f5
fetchdecide rework for AVX (0xF3 SSE prefix encoded as 2 in VEX)
2010-05-23 19:17:41 +00:00