Commit Graph

1178 Commits

Author SHA1 Message Date
Ciro Santilli 六四事件 法轮功
3793b74654 baremetal: improve headers and test docs 2019-06-07 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
9fba97740c file_write_read.c: move from cpp-cheat
Improve README C section with example tree.
2019-06-07 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
2a27157dbf asciidoctor: document exact version to install with gem
We also have the Gemfile, but I don't want to make people go through
the superior NVM bundler setup right now.
2019-06-07 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
2c6f4c14fe asciidoctor: remove forgotten extension comment 2019-06-07 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
77ef0dadf1 readme: make local file links work relative to out/
Thanks to awesome help at:
https://github.com/asciidoctor/asciidoctor/issues/3324
2019-06-07 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
43ff5ced56 pmccntr: make section title clearer 2019-06-06 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
bc72790e81 x86 asm: start moving in binary arithmetic instructions 2019-06-06 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
82129820ca x86 asm: address modes, LKMC_ASSET_EQ_32 and intel manuals 2019-06-06 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
47b39a84c9 x86 asm: mov 2019-06-03 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
39de6f6abf gdbserver: get back to life
run-gdbserver is dead, converted to ./run --gdbserver --userland

I'm so happy, this refactor was so easy due to previous good code structure.

Fix https://github.com/cirosantilli/linux-kernel-module-cheat/issues/63
2019-06-02 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
7fda133215 run-gdb-user: killed it, all that was needed was to pass --userland
Fixes part of https://github.com/cirosantilli/linux-kernel-module-cheat/issues/63
2019-06-02 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
402d1343df x86 asm: expand macros in the most basic SIMD examples
Make it easier on the newbs I guess.
2019-06-02 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
819ef42ea4 kernel modules: hack up quick floating point example 2019-06-02 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
7f917af66b userland: add linkback readme 2019-06-02 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
3c5ec40ad8 tagline: link to c cpp and posix 2019-06-01 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
6204b9ad6f x86 simd: link to SSE getting started question on SO 2019-06-01 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
ddae0d52f2 x86 asm: intrinsics from memory 2019-06-01 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
277f67892b link to epi example 2019-06-01 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
26183613e5 x86 asm: addpd managed to extract doubles 2019-06-01 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
a90271c6af asm: start x86 intrinsics examples
Split userland/arch/<arch>/c/ into inline_asm and intrinsics, and move programs
that don't match either up.
2019-05-31 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
a336201b06 build-crosstool-ng: use ./configure relative path
Avoids build error in Ubuntu 16.04...
2019-05-30 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
1f55dec44c arm: thumb understanding++ 2019-05-30 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
ceadb1d776 paddq.S: comment typo 2019-05-30 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
4a4407e7a8 qemu: update to d8dae268c0a3e4e361002aca3b382fedd77f2567
Now on top of QEMU v4.0.0.

Ha, everything just worked. That wasn't fun!

Fix https://github.com/cirosantilli/linux-kernel-module-cheat/issues/70
2019-05-29 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
e5682cb5cb readme: link to new procfs SE answer 2019-05-29 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
4d001f521f gem5: update to 08c79a194d1a3430801c04f37d13216cc9ec1da3
Fix gem5 userland fatal: kernel too old.

Fix https://github.com/cirosantilli/linux-kernel-module-cheat/issues/64
gem5 x86 boot fails with: "Assertion `locked && curr_frag_id == 0' failed

So we are now back to mainline gem5!
2019-05-29 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
fedb68c62c merge test-user-mode and test-baremetal into test-executables
Differentiate with --mode userland vs --mode baremetal.

The code was basically copied, now it's DRY.
2019-05-29 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
6994dc21af test-gdb: can now run in either userland or baremetal modes
Selection with --mode userland (default because has x86_64) or --mode baremetal.

This is the first userland tool where this choice is done on the command line,
which led to a refactor of supported_archs and is_baremetal and is_userland
into a single self.env['mode'].
2019-05-29 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
b6126a5268 test-gdb: support userland
x86_64 not yet enabled due to silly error checking.
2019-05-28 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
e7494419fc test-gdb userland 2019-05-28 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
cd44e3b5e2 test-gdb: exit gracefully on failure instead of raising
Just print the traceback instead.

Pass extra CLI options to produce nicer output like --no-show-stdout.
2019-05-28 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
04c54a6369 test-user-mode: classify and skip all failing gem5 tests
Create userlan/posix/kill.c to better test signals.
2019-05-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
cc1d8d08d0 test-gdb: bring back to life
Well factored with ./test-baremetal, allowing for target selection.
2019-05-27 00:00:05 +00:00
Ciro Santilli 六四事件 法轮功
24b75f92d8 arm asm el: document virtualization failure after FP enable patch 2019-05-27 00:00:04 +00:00
Ciro Santilli 六四事件 法轮功
6e790042f0 x86 asm: align stack to 16-bits for abort() call
Fixes the failing tests that called abort(). For coincidence, only native
tests were failing.

Asked at: https://stackoverflow.com/questions/56324948/why-does-calling-the-c-abort-function-from-an-x86-64-assembly-function-lead-to
2019-05-27 00:00:03 +00:00
Ciro Santilli 六四事件 法轮功
48079d0843 crosstool-ng: update to crosstool-ng-1.24.0
Fix https://github.com/cirosantilli/linux-kernel-module-cheat/issues/68

Copy source tree into build dir since ./ctng started failing out of tree.
I give up.
2019-05-27 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
8eb312c58d baremetal: move aarch64 el.c into dump_regs.c
Also start disassembling registers nicely dump_regs so we can have a
single executable to handle all register queries.
2019-05-27 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
3527c8df5b gem5: update to 865287d5b593b84d6ad91946a9ca4c49e24f9595
Include workaround for: https://github.com/cirosantilli/linux-kernel-module-cheat/issues/64
2019-05-27 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
00b1d43164 readme: create asciidoctor-extract-links to find broken links and fix all of them.
Oh yeah.
2019-05-26 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
12005528ef gdb: move all tests to userland 2019-05-26 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
dbfec89e03 baremetal: fix getting started after userland unification 2019-05-26 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
8138e68810 update kernel version everywhere 2019-05-25 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
add6eedb76 baremetal: all examples working, all failures accounted for!
SIMD&FP is now enabled in arm from bootloader.
2019-05-25 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
8825222579 xen: document failed attempt 2019-05-25 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
05aa5c7c79 baremetal: build userland/ programs using baremetal path property instead of symlinks
Otherwise I'll go crazy with symlink action.
2019-05-24 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
edfbe9f0d7 build-xen minor improvement 2019-05-23 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
c8c4f89854 asm: make use regular asserts that will just work on baremetal
Previously had wonky line pointer in asm_main. New interface simpler and more portable.

Add tests for ASSERT_EQ_ and family in arm and aarch64, previously on x86_64.

ASSERT_EQ_ and family in ARM can now either take =123, =addr or var, before this
the = was added on macros so var was not possible.

Define the main function directly in assembly, the C driver was useless.
2019-05-23 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
72200dee4e userland: scope every header identifier with lkmc_ 2019-05-21 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
6fe9e5bae7 baremetal: symlink all programs that currently run on both userland and baremetal 2019-05-21 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
492d9cdf3f arm: udf instruction 2019-05-21 00:00:00 +00:00