summaryrefslogtreecommitdiff
path: root/src/arch/x86
AgeCommit message (Collapse)Author
2007-06-18Add in incomplete pick and merge functions which read and write pieces of ↵Gabe Black
registers, and fill out microcode disassembly. --HG-- extra : convert_revision : 56332b3999a9079b1bd305ee2826abdf593367e1
2007-06-14Add in some microregs.Gabe Black
--HG-- extra : convert_revision : e8a894c2f7901329bd390a4cfd92209d0e29cf80
2007-06-14Sign extend byte immediates as well. There might need to be a fancier system ↵Gabe Black
in place to handle this in the future. --HG-- extra : convert_revision : 2c5bd719c770d9a93a57bd29782842f82384863d
2007-06-14Fix limm.Gabe Black
--HG-- extra : convert_revision : ab76b11c2bb2f3abc0e7a84f7167d92d16ed074e
2007-06-14Implement a handful more instructions and differentiate macroops based on ↵Gabe Black
the operand types they expect. --HG-- extra : convert_revision : f9c8e694a8c0eb33b988657dca03ab495b65bee8
2007-06-14Move the high byte register indices to the right place.Gabe Black
--HG-- extra : convert_revision : 3f04036d598b6572bab6ec06d162b97564a6529c
2007-06-14Make POP special case its dataSize to default to 64 bits in 64 bit mode.Gabe Black
--HG-- extra : convert_revision : 5c6251d962d9997676ffc795bb92eeb588caed39
2007-06-14Put the mode in the ExtMachInst.Gabe Black
--HG-- extra : convert_revision : 7fc6567ab3d35c06901e6c8a0435f7cab819e17e
2007-06-14Get rid of an unnecessary debug statement.Gabe Black
--HG-- extra : convert_revision : 0b306dd96f5358474ad6a8bf4a949c12bcd139cd
2007-06-14Get rid of some debug output and let macroops set headers in their ↵Gabe Black
constructor. The intention is to allow them to modify the emulation environment struct before it's used to construct its microops. --HG-- extra : convert_revision : b04fc9ead8e3322fc3af3f14d75e2206ddfbe561
2007-06-13Seperate the pc-pc and the pc of the incoming bytes, and get rid of the ↵Gabe Black
"moreBytes" which just takes a MachInst. src/arch/x86/predecoder.cc: Seperate the pc-pc and the pc of the incoming bytes, and get rid of the "moreBytes" which just takes a MachInst. Also make the "opSize" field describe the number of bytes and not the log of the number of bytes. --HG-- extra : convert_revision : 3a5ec7053ec69c5cba738a475d8b7fd9e6e6ccc0
2007-06-13Fix the operand type tag parser to recognize multi character register names.Gabe Black
--HG-- extra : convert_revision : e025620e29f2515d51240e96c4a05a4f74bdf72e
2007-06-13Partially implement "POP"Gabe Black
--HG-- extra : convert_revision : ba454579a6a82ce4924102a633e5758fb2a30b2d
2007-06-13Move load/store microops into their own file. They still don't do anything, ↵Gabe Black
though. --HG-- extra : convert_revision : 251763c614b9056c3ca7a85ef92c416552da893f
2007-06-13Fix the immediate version of register operations, and get their name to show ↵Gabe Black
up correctly. --HG-- extra : convert_revision : 9fc36b99c9027e35f22983d5d1e22c940fa093de
2007-06-12Minor comment fix up.Gabe Black
--HG-- extra : convert_revision : 20d517c4bc2aae54e53368c708b5abb27ed3a469
2007-06-12Make use of some of the REX prefix.Gabe Black
--HG-- extra : convert_revision : 948eceb59a1cd9b02ad9355dd5894af0bbec4e83
2007-06-12Reset the rex and legacy prefix components of the ExtMachInst as well.Gabe Black
--HG-- extra : convert_revision : 832a324fec2d2b59f1c101d7fa72d7f670f0495d
2007-06-12Flesh out the bitfields for prefixes.Gabe Black
--HG-- extra : convert_revision : 0956b3d3532cba3856deda914d7cc708377b701b
2007-06-12Add in MOV instructions.Gabe Black
--HG-- extra : convert_revision : 54a6b36dff3c15699faf2c767fc594359422c0ee
2007-06-12Fix up a comment that wasn't changed over to x86.Gabe Black
--HG-- extra : convert_revision : 58448b984447babba708b9dcb1b4939ed35308a6
2007-06-12Get rid of unnecessary namespace prototype.Gabe Black
--HG-- extra : convert_revision : 388c0d6f2af96c4d33c1fe5d42a21866a4d71556
2007-06-12Use objects to pass around output code, and fix/implement a few things.Gabe Black
src/arch/x86/isa/formats/multi.isa: Make the formats use objects to pass around output code. --HG-- extra : convert_revision : 428915bda22e848befac15097f56375c1818426e
2007-06-12Add an address size bitfield to the isa description and the ExtMachInstGabe Black
--HG-- extra : convert_revision : f8907ef5ef77e050eeb00d895263b49da4a9b6e9
2007-06-12Add some dprintfsGabe Black
--HG-- extra : convert_revision : 7e9a1feb808604364584893eed1735a8da1556fb
2007-06-12Make microOp vs microop and macroOp vs macroop capitilization consistent.Gabe Black
src/arch/x86/isa/macroop.isa: Make microOp vs microop and macroOp vs macroop capitilization consistent. Also fill out the emulation environment handling a little more, and use an object to pass around output code. src/arch/x86/isa/microops/base.isa: Make microOp vs microop and macroOp vs macroop capitilization consistent. Also adjust python to C++ bool translation. --HG-- extra : convert_revision : 6f4bacfa334c42732c845f9a7f211cbefc73f96f
2007-06-08Fix another outdated comment.Gabe Black
--HG-- extra : convert_revision : 55f89d9f96734e96ae082399df6b0206d112cd6c
2007-06-08Adjust a few more comments.Gabe Black
--HG-- extra : convert_revision : 9b79ce72acf8932ce26e1744a149f2fd2435ea96
2007-06-08Fix up a potentially misleading comment.Gabe Black
--HG-- extra : convert_revision : 58d37d8cc8e41c9640038d6dddae4cb5649638aa
2007-06-08Fix the formatting on a comment.Gabe Black
--HG-- extra : convert_revision : 89636a7410dec54235416e3c16db98cc5eecf2b0
2007-06-08Clean up where files are included, and get rid of some cruft.Gabe Black
src/arch/x86/isa/main.isa: Clean up where files are included. --HG-- extra : convert_revision : 0528359432bf0fb9198b63de9611176bc78e07c7
2007-06-08Clean things up a little.Gabe Black
--HG-- extra : convert_revision : 62ad0839847db85738054da6f7da8a956b24143e
2007-06-08Move the microcode assembly to a python package instead of isa_parser files. ↵Gabe Black
Also, the code is now a single string which runs through the microcode assembler rather than docstrings associated with classes named after each architectural level instruction. --HG-- extra : convert_revision : 20e6d6ac625dde8f1885acc445882096df562778
2007-06-08Big changes to use the new microcode assembler.Gabe Black
--HG-- extra : convert_revision : 7d1a43c5791a2e7e30533746da3dd7036a5b8799
2007-06-08Fixed format arguments for XOR.Gabe Black
--HG-- extra : convert_revision : d64fe734fcdcc414ba9af9fc5f0f795429d5dad3
2007-06-08Add a bitfield to refer to the opSize member of the extMachInst.Gabe Black
--HG-- extra : convert_revision : 1854ebc00a9f3ae8c36cc579de6c3a2b48c0fdb6
2007-06-04Make limm (load immediate) microopGabe Black
--HG-- extra : convert_revision : f4883febd92cfade61c1a6a31fdb2d27296d9044
2007-06-04Reworking x86's microcode system. This is a work in progress, and X86 ↵Gabe Black
doesn't compile. src/arch/x86/isa/decoder/one_byte_opcodes.isa: src/arch/x86/isa/macroop.isa: src/arch/x86/isa/main.isa: src/arch/x86/isa/microasm.isa: src/arch/x86/isa/microops/base.isa: src/arch/x86/isa/microops/microops.isa: src/arch/x86/isa/operands.isa: src/arch/x86/isa/microops/regop.isa: src/arch/x86/isa/microops/specop.isa: Reworking x86's microcode system --HG-- extra : convert_revision : cab66be59ed758b192226af17eddd5a86aa190f3
2007-05-31x86 work that hadn't been checked in.Gabe Black
src/arch/x86/isa/decoder/one_byte_opcodes.isa: Give the "MOV" instruction the format of it's arguments. This will likely need to be completely overhauled in the near future. src/arch/x86/predecoder.cc: src/arch/x86/predecoder.hh: Make the predecoder explicitly reset itself rather than counting on it happening naturally. src/arch/x86/predecoder_tables.cc: Fix the immediate size table src/arch/x86/regfile.cc: nextnpc is bogus --HG-- extra : convert_revision : 0926701fedaab41817e64bb05410a25174484a5a
2007-05-09fix the translating ports so it can add a page on a faultAli Saidi
--HG-- extra : convert_revision : 56f6f2cbf4e92b7f2dd8c9453831fab86d83ef80
2007-04-10Include the new GenFault microop.Gabe Black
--HG-- extra : convert_revision : 6c943329525d2a01f35ad5e56ff91505d5011d7b
2007-04-10Reworked x86 a bitGabe Black
--HG-- extra : convert_revision : def1a30e54b59c718c451a631a1be6f8e787e843
2007-04-10Changed some instruction names to be in all caps, and "implemented" move to ↵Gabe Black
test the stub code for instructions. --HG-- extra : convert_revision : a377daf20545dfcbb0f97d8cafbe3d68416dc4b2
2007-04-10Added a class which lets you manipulate all the strings returned by the ↵Gabe Black
parser as a unit. --HG-- extra : convert_revision : eec4b188b44b80cee643542bbd1aaa139cbc4ef0
2007-04-10Fix up the base x86 fault object and create a fault to be generated by ↵Gabe Black
unimplemented instructions in their microcode. This is useful if certain variations of an instruction are implemented, but, for instance, it's memory based versions aren't. --HG-- extra : convert_revision : 24e69c5a6a0af2d0cf67e858a051ae6624bb300f
2007-04-09Accidentally didn't save when moving the specialization code out of here.Gabe Black
--HG-- extra : convert_revision : 1ffe0c497e10fef1eb84b3c97c00b98d820fbb97
2007-04-06Move the instruction specialization stuff out of the microassembler file, ↵Gabe Black
and added some comments to main.isa --HG-- extra : convert_revision : 1534ae7d5a9e95bf662d79a04f9286c227541c6c
2007-04-06Consolidated the microcode assembler to help separate it from more ↵Gabe Black
x86-centric stuff. --HG-- extra : convert_revision : 5e7e8026e24ce44a3dac4a358e0c3e5560685958
2007-04-06Refactored the x86 isa description some more. There should be more ↵Gabe Black
seperation between x86 specific parts, and those parts which are implemented in the isa description but could eventually be moved elsewhere. --HG-- rename : src/arch/x86/isa/formats/macroop.isa => src/arch/x86/isa/macroop.isa extra : convert_revision : 5ab40eedf574fce438d9fe90e00a496dc95c8bcf
2007-04-06Clean up the code a little, fix (I think) a perceived problem with immediate ↵Gabe Black
sizes, and sign extend the 32-bit-acting-like-64-bit-immediates. --HG-- extra : convert_revision : e59b747198cc79d50045bd2dc45b2e2b97bbffcc