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
Stanislav Shwartsman
f7b79e0057
bugfix
2010-05-23 17:59:50 +00:00
Stanislav Shwartsman
b2dffd9258
undo incorrect change for ia32_feature_control msr init
2010-05-23 05:32:00 +00:00
Stanislav Shwartsman
c21a8fd935
sse4.2 string instruction do not required aligned mem access
2010-05-22 19:55:12 +00:00
Stanislav Shwartsman
1c00193616
cleanup
2010-05-22 10:43:39 +00:00
Stanislav Shwartsman
b6c26d394c
enable VMX lock bit - required for VMXON
2010-05-22 10:21:31 +00:00
Stanislav Shwartsman
d8b1d60239
when in HLT run time faster for single cpu
2010-05-22 10:17:58 +00:00
Volker Ruppert
0a4c91815d
- small fixes in the DHCP code (SF patch #2862322 )
2010-05-22 10:15:58 +00:00
Stanislav Shwartsman
fff0a79aea
a little simpler fetchdecode
2010-05-21 21:17:32 +00:00
Volker Ruppert
fd477dac71
- ignore single mode command 0x02 (386BSD writes it, but works with it ignored)
2010-05-18 17:48:48 +00:00
Volker Ruppert
5471cfbc34
- mouse capture toggle option choice 'f12' replaces win32 'legacyF12' option
...
- implemented mouse capture toggle method option in RFB
- user documentation updates (mouse, usb)
2010-05-18 15:33:41 +00:00
Stanislav Shwartsman
155c527e35
Enable 2M BIOS images
2010-05-18 09:01:08 +00:00
Stanislav Shwartsman
e3e797a2de
ready to enlarge supported BIOS ROM to 2M
2010-05-18 08:54:01 +00:00
Stanislav Shwartsman
d22427ede1
mark places what have to be fixed to enable 2M BIOS ROM images
2010-05-18 07:44:37 +00:00
Stanislav Shwartsman
3dfcfd0ccd
Split shift opcodes | optimize SAR opcode
2010-05-18 07:28:05 +00:00
Stanislav Shwartsman
44885c4ef5
rom_present is not need to be BX_MEM_C member
2010-05-17 19:42:30 +00:00
Volker Ruppert
8a2a1dc04c
- implemented mouse capture toggle method option in win32.cc
...
- updated mouse option description and added cpuid options section in the user docs
2010-05-16 20:44:08 +00:00
Volker Ruppert
ae20efc894
- added entry for the new 'cpuid' option and updated 'mouse' option description
2010-05-16 15:12:15 +00:00
Volker Ruppert
84364ae889
- implemented mouse capture toggle method option in wxWidgets
2010-05-16 14:40:53 +00:00
Stanislav Shwartsman
bfac0dd6c6
Move some defines from rombios32.c to rombios.h
...
Sebastian
2010-05-16 14:35:22 +00:00
Stanislav Shwartsman
32ff6e4879
MSR BX_DEBUG prints
2010-05-16 13:56:22 +00:00
Volker Ruppert
19ed74f642
- added new config option to select mouse capture toggle method. In addition to
...
the default Bochs method using the CTRL key and the middle mouse button there
are now the choices CTRL+F10 (like DOSBox) and CTRL+ALT (like QEMU).
* currently implemented in the X11 and SDL guis only
* TODO: porting to wxWidgets and Win32, documentation updates
2010-05-16 09:01:36 +00:00
Stanislav Shwartsman
05bbbb1a2c
compilation fix
2010-05-16 05:23:18 +00:00
Stanislav Shwartsman
bdc7b4bf89
Updates of CMOS map
2010-05-15 19:35:41 +00:00
Volker Ruppert
cdb7e0eb96
- fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target
2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
35f8e91cad
APIC ID mask cleanup
2010-05-14 12:10:00 +00:00
Stanislav Shwartsman
9c69b15ecb
fetchdecode tables reorg phase1
2010-05-13 05:38:24 +00:00
Stanislav Shwartsman
74b87d2b68
fixes for CPUID and alloweds bits in CRs
2010-05-12 21:33:04 +00:00
Stanislav Shwartsman
f95ddc4029
Debug Extensions was introduced in Pentium
2010-05-12 18:48:51 +00:00
Stanislav Shwartsman
d849cdf128
- Determine and select max physical address size automatically at
...
configure time:
- 32-bit physical address for 386/486 guests
- 36-bit physical address for PSE-36 enabled Pentium guest
- 40-bit physical address for PAE enabled P6 or later guests
2010-05-12 14:55:12 +00:00
Stanislav Shwartsman
f899949c3a
Sebastian define port number constants
2010-05-10 05:24:39 +00:00
Stanislav Shwartsman
49934bc853
cache page split instructions
...
next step - cache page split traces
2010-05-08 08:30:04 +00:00
Stanislav Shwartsman
b0d5142e18
comp fixes
2010-05-06 21:46:39 +00:00
Volker Ruppert
60a6476e40
- added directory structure of the Bochs project webspace
2010-05-06 16:59:44 +00:00
Stanislav Shwartsman
1c47847e23
Show more fields for verbose debugger 'page'command
2010-05-05 20:10:15 +00:00
Stanislav Shwartsman
2b1ea37252
verbose page command from debugger
2010-05-04 20:17:26 +00:00
Stanislav Shwartsman
9a43a89a61
verbose page command from the debugger
2010-05-04 20:16:38 +00:00
Stanislav Shwartsman
aa76181208
Fixed debug translation
2010-05-04 19:02:51 +00:00
Stanislav Shwartsman
41e9663b89
optimization
2010-05-02 17:01:15 +00:00
Stanislav Shwartsman
4e6d7835c6
#GP/#SS priority
2010-05-02 17:00:05 +00:00
Stanislav Shwartsman
0478b326c3
remove ome ifdefs
2010-05-02 15:11:39 +00:00
Stanislav Shwartsman
acc82363cd
undefined CR fault higher prio than CPL GP
2010-05-02 15:10:27 +00:00
Volker Ruppert
7d1d56a6d2
- added some webmastering infos (TODO: Bochs project webspace directory structure)
2010-05-02 11:04:42 +00:00
Stanislav Shwartsman
48a461116f
PUSH segment register fix to be like real CPU
2010-04-30 09:12:52 +00:00