mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
readme: misc
This commit is contained in:
27
README.adoc
27
README.adoc
@@ -12832,6 +12832,8 @@ Running the larger 2019 regression tests is exposed for example with:
|
|||||||
./gem5-regression --arch aarch64 -- --length quick --length long
|
./gem5-regression --arch aarch64 -- --length quick --length long
|
||||||
....
|
....
|
||||||
|
|
||||||
|
Sample run time: 87 minutes on <<p51>> Ubuntu 20.04 gem5 872cb227fdc0b4d60acc7840889d567a6936b6e1.
|
||||||
|
|
||||||
After the first run has downloaded the test binaries for you, you can speed up the process a little bit by skipping an useless SCons call:
|
After the first run has downloaded the test binaries for you, you can speed up the process a little bit by skipping an useless SCons call:
|
||||||
|
|
||||||
....
|
....
|
||||||
@@ -12843,7 +12845,7 @@ Note however that running without `--skip-build` is required at least once to do
|
|||||||
List available instead of running them:
|
List available instead of running them:
|
||||||
|
|
||||||
....
|
....
|
||||||
./gem5-regression --arch aarch64 --cmd list
|
./gem5-regression --arch aarch64 --cmd list -- --length quick --length long
|
||||||
....
|
....
|
||||||
|
|
||||||
You can then pick one suite (has to be a suite, not an "individual test") from the list and run just it e.g. with:
|
You can then pick one suite (has to be a suite, not an "individual test") from the list and run just it e.g. with:
|
||||||
@@ -13840,7 +13842,7 @@ This calls the `Event::process` method of the event.
|
|||||||
Another important technique is to use <<debug-the-emulator,GDB>> and break at interesting points such as:
|
Another important technique is to use <<debug-the-emulator,GDB>> and break at interesting points such as:
|
||||||
|
|
||||||
....
|
....
|
||||||
b Trace::OstreamLogger::logMessage()
|
b Trace::OstreamLogger::logMessage
|
||||||
b EventManager::schedule
|
b EventManager::schedule
|
||||||
b EventFunctionWrapper::process
|
b EventFunctionWrapper::process
|
||||||
....
|
....
|
||||||
@@ -21966,6 +21968,13 @@ ARM also releases documentation specific to each given processor.
|
|||||||
|
|
||||||
This adds extra details to the more portable <<armarm8>> ISA documentation.
|
This adds extra details to the more portable <<armarm8>> ISA documentation.
|
||||||
|
|
||||||
|
For every processor, there are basically two key documents:
|
||||||
|
|
||||||
|
* technical reference manual, e.g.: <<arm-cortex-a77-trm>>
|
||||||
|
* software optimization guide, e.g.: <<arm-cortex-a77-sog>>
|
||||||
|
+
|
||||||
|
This contains some approximate instruction latencies and pipeline properties.
|
||||||
|
|
||||||
[[arm-cortex15-trm]]
|
[[arm-cortex15-trm]]
|
||||||
====== ARM Cortex-A15 MPCore Processor Technical Reference Manual r4p0
|
====== ARM Cortex-A15 MPCore Processor Technical Reference Manual r4p0
|
||||||
|
|
||||||
@@ -21973,6 +21982,16 @@ http://infocenter.arm.com/help/topic/com.arm.doc.ddi0438i/DDI0438I_cortex_a15_r4
|
|||||||
|
|
||||||
2013.
|
2013.
|
||||||
|
|
||||||
|
[[arm-cortex-a77-trm]]
|
||||||
|
===== Arm Cortex‑A77 Technical Reference Manual r1p1
|
||||||
|
|
||||||
|
https://static.docs.arm.com/101111/0101/arm_cortex_a77_trm_101111_0101_04_en.pdf
|
||||||
|
|
||||||
|
[[arm-cortex-a77-sog]]
|
||||||
|
===== Arm Cortex‑A77 Software Optimization Guide r1p1
|
||||||
|
|
||||||
|
https://static.docs.arm.com/swog011050/c/Arm_Cortex-A77_Software_Optimization_Guide.pdf
|
||||||
|
|
||||||
== ELF
|
== ELF
|
||||||
|
|
||||||
https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
|
https://en.wikipedia.org/wiki/Executable_and_Linkable_Format
|
||||||
@@ -26452,6 +26471,8 @@ There are some less hardware bound higher level layers in the kernel which might
|
|||||||
But of course, those are heavily motivated by the underlying hardware characteristics, and it is very likely that most of the people working there were previously at a hardware company.
|
But of course, those are heavily motivated by the underlying hardware characteristics, and it is very likely that most of the people working there were previously at a hardware company.
|
||||||
+
|
+
|
||||||
In that sense, therefore, the kernel is not as open as one might want to believe.
|
In that sense, therefore, the kernel is not as open as one might want to believe.
|
||||||
|
+
|
||||||
|
Of course, if there is some https://stackoverflow.com/questions/1697842/do-graphic-cards-have-instruction-sets-of-their-own/1697883[super useful and undocumented hardware that is just waiting there to be reverse engineered], then that's a much juicier target :-)
|
||||||
* it is impossible to become rich with this knowledge.
|
* it is impossible to become rich with this knowledge.
|
||||||
+
|
+
|
||||||
This is partly implied by the fact that you need to be in a big company to make useful low level things, and therefore you will only be a tiny cog in the engine.
|
This is partly implied by the fact that you need to be in a big company to make useful low level things, and therefore you will only be a tiny cog in the engine.
|
||||||
@@ -26475,7 +26496,7 @@ It is much easier to accept limitations of physics, and even natural selection i
|
|||||||
+
|
+
|
||||||
Physics-based engineering, just like low level hardware, is of course completely closed source however, since wrestling against the laws of physics is about the most expensive thing humans can do.
|
Physics-based engineering, just like low level hardware, is of course completely closed source however, since wrestling against the laws of physics is about the most expensive thing humans can do.
|
||||||
|
|
||||||
Are you fine with those points, and ready to continue wasting your life?
|
Are you fine with those points, and ready to continue wasting your life with this crap?
|
||||||
|
|
||||||
Good. In that case, read on, and let's have some fun together ;-)
|
Good. In that case, read on, and let's have some fun together ;-)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user