summaryrefslogtreecommitdiff
path: root/src/arch
AgeCommit message (Collapse)Author
2007-06-20Make memory instructions work better, add more macroop implementations, add ↵Gabe Black
an lea microop, move EmulEnv into it's own .cc and .hh. --HG-- extra : convert_revision : 1212b8463eab1c1dcba7182c487d1e9184cf9bea
2007-06-19More faithfulness to what instructions should work in what modes, and added ↵Gabe Black
the MOVSXD instruction. --HG-- extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd
2007-06-19Make branches work by repopulating the predecoder every time through. This ↵Gabe Black
is probably fine as far as the predecoder goes, but the simple cpu might want to not refetch something it already has. That reintroduces the self modifying code problem though. --HG-- extra : convert_revision : 802197e65f8dc1ad657c6b346091e03cb563b0c0
2007-06-19Make instructions that are illegal in 64 bit mode not do the wrong thing in ↵Gabe Black
64 bit mode. Also add in more versions of PUSH and POP, and a version of near CALL. --HG-- extra : convert_revision : 7d8266cdfa54ac25610466b3533d3e9e5433297b
2007-06-19Make an error message a little more descriptive.Gabe Black
--HG-- extra : convert_revision : dbde025b1dcec0083e7276a9938bd21e7ab2887f
2007-06-19Renovate the "fault" microop implementation.Gabe Black
--HG-- extra : convert_revision : dc9d67dd5413f00f16d37cb2d0f8b0d10971e14a
2007-06-19Get rid of the commented out versions of macroops which have been ↵Gabe Black
reimplemented. The comments are basically functioning like a todo list. --HG-- extra : convert_revision : cb07e3813f6cf882b4a5c77c498ffbca26adf586
2007-06-19Get rid of the immediate and displacement components of the EmulEnv struct ↵Gabe Black
and use them directly out of the instruction. The extra copies are conceptually realistic but are just innefficient as implemented. Also don't use the zeroeth microcode register for general storage since it's now the zero register, and implement a load and a store microops. --HG-- extra : convert_revision : 0686296ca8b72940d961ecc6051063bfda1e932d
2007-06-19Add a stack size bitfield and expose the mode component of the ExtMachInst.Gabe Black
--HG-- extra : convert_revision : aad0ec51745fb94335898b0565bb11c1b399bbee
2007-06-19Add a function to print out segment names.Gabe Black
--HG-- extra : convert_revision : 8cbe3ca0d05165f7da5d6fa38c899ecc9e782511
2007-06-18Get rid of unnecessary output.Gabe Black
--HG-- extra : convert_revision : 0df9a12788b8ce3225c113c095d5f13e49a7c544
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-14Merge zizzer.eecs.umich.edu:/bk/newmemGabe Black
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86 --HG-- extra : convert_revision : ba718de4d676f6d0bd80c29de46be1f6a2f73feb
2007-06-14Modified instruction decode method.Vincentius Robby
Make code compatible with new decode method. src/arch/alpha/remote_gdb.cc: src/cpu/base_dyn_inst_impl.hh: src/cpu/exetrace.cc: src/cpu/simple/base.cc: Make code compatible with new decode method. src/cpu/static_inst.cc: src/cpu/static_inst.hh: Modified instruction decode method. --HG-- extra : convert_revision : a9a6d3a16fff59bc95d0606ea344bd57e71b8d0a
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-14Fix up param regular expression to not duplicated the escaping \ and to pair ↵Gabe Black
up \s correctly. --HG-- extra : convert_revision : b4b790fb8cfd2a9e28568cf978eca70b1c65806b
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