freebsd-dev/sys/i386
Bruce Evans ab372207b2 Fixed botched tables:
- the operands for bt, bts, arpl and `enter' were reversed.
- btr was reported as bts (with the correct operand order).
- cmpxchg was misplaced.  It was misplaced differently in the
  comments.  It is misplaced differently again in the i486 manual.
  I put it where the i586 manual and gas say it is.
- fucompp was misplaced.
- the rr table for(s) some versions of fstp, fcom and fcomp was non-null.
  This caused some invalid opcodes to be reported as "" instead of as
  "<bad instruction>".
- the word and long versions of the fi* instructions were reversed.
- aaa and daa were reversed.

Fixed bugs involving unusual operand sizes:
- 32-bit registers weren't always forced for bswap or for moves to and
  from special registers.
- the operand sizes weren't reported for [l]call or [l]jmp.
- displacements weren't truncated mod 2^16 when the operand size was
  16-bit.
- too-large displacements and offsets were fetched, and too-large
  offsets were reported, when the operand size was 16-bit.
- sign extended immediate bytes were extended too far when the operand
  size was 16-bit.

Fixed bugs involving usual operand sizes:
- 8-bit source registers weren't forced for mov[sz]b[wl].
- 16-bit source registers weren't forced for mov[sz]w[wl].
- immediate bytes were sometimes reported as sign extended even for
  byte operations.  Same for immediate words in word operations.
- the immediate byte was not reported as sign extended for `push'.

Finished Pentium support:
- cpuid, cmpxchg8b and rsm were missing.

Finished i287 support:
- fneni, fndisi and fsetpm were missing.  These are harmless nops on
  later FPUs.

Improvements:
- report invalid opcodes 0xd6 and 0xf1 using .byte.  They are special
  in not causing invalid operand exceptions when executed.
- report the immediate byte for unusual aam and aad instuctions.
  Immediate bytes other than 0x0a always worked and are documented to
  work on Pentiums.
1997-01-04 13:47:30 +00:00
..
apm APM_DSVALUE_BUS is no longer with the addition of the correct fix to 1996-09-07 17:41:22 +00:00
bios APM_DSVALUE_BUS is no longer with the addition of the correct fix to 1996-09-07 17:41:22 +00:00
boot Initialize the upper 16 bits of the memory sizes properly (to 0). 1996-12-18 15:38:23 +00:00
conf Added undocumented SCSI_DELAY and SCSI_NCR_* options. SCSI_DELAY gets 1996-12-23 19:04:20 +00:00
eisa Add a small hack to UserConfig that allows to override the number of 1996-12-14 18:07:17 +00:00
i386 Fixed botched tables: 1997-01-04 13:47:30 +00:00
ibcs2 Added a missing prototype. 1996-12-18 19:14:35 +00:00
include Let the VM system know that on certain arch's that VM_PROT_READ 1996-12-30 05:31:21 +00:00
isa Change types of wdp_cylinders, wdp_heads and wdp_sectors in struct 1997-01-04 10:28:01 +00:00
linux *Ahem* - opt_rlimit.h does not exist in the LKM case. This was another 1996-12-23 06:37:23 +00:00
pci More merge and update. 1996-10-30 22:41:46 +00:00
scsi Clear the busfree interrupt when one occurs, after a SELTO, or a bus reset. 1996-12-03 17:06:00 +00:00
Makefile Removed all patch kit headers, sccsid and rcsid strings, put $Id$ in, some 1993-10-16 19:17:18 +00:00