Commit graph

37 commits

Author SHA1 Message Date
Fabian 75dbbbc55a Update rustfmt 2020-12-31 19:14:30 -06:00
Fabian 15a27746f6 Split fldenv, frstor, fsave and fstenv into 16 and 32 bit variants 2020-12-31 19:14:30 -06:00
Fabian 034ecd5390 c2rust cleanup: Remove unnecessary type annotations on let bindings 2020-12-31 19:14:29 -06:00
Fabian 48940e426a Fix fldm80/fstenv/fldenv: These instructions were generating and unconditional exit from jitted code but not updating eip. Changed to use the fallback mechanism for handling pagefaults 2020-12-31 19:14:29 -06:00
Fabian c207400922 Fix Rust warnings 2020-12-31 19:14:29 -06:00
Fabian 158bb75fec FPU: Implement zero divide fault 2020-08-30 19:37:15 -05:00
Fabian 0269e9cecf Fix fxtract 2020-08-30 19:37:15 -05:00
Fabian fdce557820 Codegen for fpu instructions (memory stores: fst/fstp/fist/fistp) (D9_[23], DB_[23], DD_[23], DF_[237]) 2020-08-30 19:37:15 -05:00
Fabian bb0e58ace9 More precise emulation of fpu instructions 2020-08-30 19:37:15 -05:00
Fabian c08a99c591 c2rust cleanup: Fix boolean literals 2020-08-30 19:29:54 -05:00
Fabian cb1348fdc7 c2rust cleanup: Restore hex constants 2020-08-30 19:29:54 -05:00
Fabian 435608d9f0 c2rust cleanup: Remove unused mut 2020-08-30 19:29:54 -05:00
Fabian 05ca01c7de c2rust cleanup: Remove casts on numeric literals 2020-08-30 19:29:54 -05:00
Fabian d895985e83 c2rust cleanup: Turn while loops into for loops 2020-08-30 19:29:54 -05:00
Fabian 7620a7cb84 fpu: Refactor (de-)serialisation of f32/f64/f80, add tests for denormals and nans 2020-08-30 19:29:54 -05:00
Fabian 96b703f87c Keep track of whether fpu or mmx register has been written recently, store proper register in fx?save 2020-08-30 19:29:54 -05:00
Fabian e70e9dc4b2 Factor the conversion out of fpu_{load,store}_m80, add tests, fix the denormal number case 2020-08-30 19:29:54 -05:00
Amaan Cheval 6cc262bdba cleanup: Use OrPageFault type alias for clarity 2020-08-30 19:29:54 -05:00
Fabian 3cb7f7a0b4 Clean up casts of physical and virtual addresses 2020-08-30 19:29:54 -05:00
Fabian fa958d95c3 Fix warnings: Remove unused stuff 2020-08-30 19:29:54 -05:00
Fabian 0a50a8474e c2rust cleanup: Remove unnecessary suffixes on numbers 2020-08-30 19:29:54 -05:00
Fabian b5ed5f7c5b c2rust cleanup: Remove -> () 2020-08-30 19:29:54 -05:00
Fabian cb80830881 c2rust cleanup: Enable mutable_transmutes warnings 2020-08-30 19:29:54 -05:00
Fabian 6b8bf885a2 c2rust cleanup: Enable unused_assignments and unused_variables warnings and fix them 2020-08-30 19:29:54 -05:00
Fabian 015232f466 c2rust cleanup: Remove .offset(0) 2020-08-30 19:29:54 -05:00
Fabian 44bc613af3 c2rust cleanup: Remove dbg_log_c 2020-08-30 19:29:54 -05:00
Fabian 3a00eedf21 c2rust cleanup: Re-enable some warnings 2020-08-30 19:29:54 -05:00
Fabian d08f5fd460 c2rust cleanup: Fix comments 2020-08-30 19:29:54 -05:00
Fabian 36fede1906 Simplify fpu_set_tag_word 2020-08-30 19:29:54 -05:00
Fabian 0680c1a2c4 fpu: Fix out of bounds memory access 2020-08-30 19:29:54 -05:00
Fabian ee3a3d4fe2 Fix statics and constants 2020-08-30 19:29:53 -05:00
Fabian ebf9cb1750 Remove extern from functions 2020-08-30 19:29:53 -05:00
Fabian c489463c83 rust2c cleanup: Fix warnings 2020-08-30 19:29:53 -05:00
Fabian 4b34beeb79 c2rust cleanup: Use Rust imports instead of linking 2020-08-30 19:29:53 -05:00
Fabian 2c47c85325 Fix format strings 2020-08-30 19:29:53 -05:00
Fabian 25949fff70 Handle page faults in instructions using return_on_pagefault and writable_or_pagefault 2020-08-30 19:29:53 -05:00
Fabian 0a68bc9393 Check in generated Rust files 2020-08-30 19:29:53 -05:00