summaryrefslogtreecommitdiff
path: root/sys/src/libmach
AgeCommit message (Collapse)Author
2014-04-15libmach: fix printing of amd64 modrm byte register with rex prefixcinap_lenrek
2014-03-09libmach: pragma pack 32bit Ureg structs for amd64cinap_lenrek
when libmach is compiled with 6c, unions in the 32bit Uregs cause fields to be wronly aligned. use #pragma pack arround the #include "/$objtype/include/ureg.h" statement.
2014-02-08pc64: handle negative file offsets when accessing kernel memory with devproccinap_lenrek
file offset is 64 bit signed integer, negative offsets are invalid and rejected by the kernel. to still access kernel memory on amd64, we unconditionally clear the sign bit of the 64 bit offset in libmach and devproc sign extends the offset back to a 64 bit address.
2014-02-03libmach: change mach pgsize back from 4K to 2MB for amd64cinap_lenrek
the Mach page size is used to calculate segment alignment. its not the real effective page size used by the kernel. this fixes acid.
2014-02-01libmach: pc64 uses 4K pages, IP -> PCcinap_lenrek
2014-01-17libmach: fix wrong operand order of MOVLQSX instruction disassemblycinap_lenrek
2013-10-02libmach: fix wrong formating for arm LDRH/STRH/LDRSB/LDRSH (MOVHU/MOVBU) ↵cinap_lenrek
instructions
2013-08-10TEQ with S bit = 0 would be pointless, so ARM uses this case to encode ↵cinap_lenrek
"miscellaneous" instructions like BKPT, BX and BLX. Decoding these correctly allows db/acid to single step through BX and BLX on armv5t+, and to show a breakpoint instruction as 'BKPT $#0' instead of 'TEQ R0@>R0,R0'.
2013-08-04apply richard millers arm debug fixes (from sources)cinap_lenrek
From richard: A couple of patches applied yesterday should make debugging on ARM a bit more reliable. Using db or acid on ARM, you may have noticed that a program being debugged would sometimes execute through a breakpoint without stopping, or run away while being single stepped. It turns out, as often happens, that one symptom had two separate causes. For details: /n/sources/patch/applied/5db-condcode/readme /n/sources/patch/applied/arm-bkpt-cond/readme To take advantage of the patches, rebuild libmach.a, then acid and db. On machines with a kw kernel (sheevaplug et al), you'll also want to rebuild /arm/9plug; otherwise breakpoints will stop working at all. The new 9plug will, however, still work with the old libmach; and the bcm and teg2 kernels are already compatible with the new libmach.
2013-06-12libmach: add EMMS for disassembly (8db.c, thanks mischief)cinap_lenrek
2013-06-10ARM: kernel changes make teg2 procfork() call fpuprocfork() and acid fixes ↵jpathy
for vfp instruction
2013-05-30libmach: fix reversed F0-F7 register ordercinap_lenrek
2013-05-26keep fpregs always in sse (FXSAVE) format, adapt libmach and acid files for ↵cinap_lenrek
new format we now always use the new FXSAVE format in FPsave structure and fpregs file, converting back and forth in fpx87save() and fpx87restore(). document that fprestore() is a destructive operation now. change fp register definition in libmach and adapt fpr() acid funciton. avoid unneccesary copy of fpstate and fpsave in sysfork(). functions including syscalls do not preserve the fp registers and copying fpstate from the current process would mean we had to fpsave(&up->fpsave); first. simply not doing it, new process starts in FPinit state.
2013-05-04libmach: update mips disassembler (from sources)cinap_lenrek
2013-05-04bio: use UTFmax for Bungetsize and fix libmach to include <libc.h> before ↵cinap_lenrek
<bio.h> (from sources)
2013-01-26add arm vfp support to compiler and linker (from sources)cinap_lenrek
2012-11-22libmach: fix file permission for map.ccinap_lenrek
2012-08-07libmach: fix acid -k regression (was broken in r5eeb36d3ddd0)cinap_lenrek
2012-07-30import updated compilers from sourcescinap_lenrek
2012-02-13libmach: use correct kernel base, kprof: use kernel base from libmach (from ↵cinap_lenrek
applied/kprof patch)
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen