update faq
add How can I interact with MMU/TLB
This commit is contained in:
13
docs/FAQ.md
13
docs/FAQ.md
@@ -113,6 +113,19 @@ To provide end users with simple API, Unicorn does lots of dirty hacks within qe
|
|||||||
|
|
||||||
Yes, it’s possible but that is not Unicorn’s goal and there is no simple switch in qemu to disable softmmu.
|
Yes, it’s possible but that is not Unicorn’s goal and there is no simple switch in qemu to disable softmmu.
|
||||||
|
|
||||||
|
## How can I interact with MMU/TLB?
|
||||||
|
|
||||||
|
By default Unicorn will emulate the MMU depending on the emulated architecture.
|
||||||
|
So you can use the features and interfaces of this MMU.
|
||||||
|
You or the emulated code can write to the memory and corresponding register to use the MMU.
|
||||||
|
|
||||||
|
There is also use the `UC_TLB_VIRTUAL` mode.
|
||||||
|
This mode defaults to a simple paddr := vaddr mapping.
|
||||||
|
|
||||||
|
You can also add an `UC_HOOK_TLB_FILL` hook to manage the TLB.
|
||||||
|
The hook is called, when a virtuall address is not cached and Unicorn is in `UC_TLB_VIRTUAL` mode.
|
||||||
|
You can manual flush the cache with `uc_ctl_flush_tlb`.
|
||||||
|
|
||||||
## I'd like to make contributions, where do I start?
|
## I'd like to make contributions, where do I start?
|
||||||
|
|
||||||
See [milestones](https://github.com/unicorn-engine/unicorn/milestones) and [coding convention](https://github.com/unicorn-engine/unicorn/wiki/Coding-Convention
|
See [milestones](https://github.com/unicorn-engine/unicorn/milestones) and [coding convention](https://github.com/unicorn-engine/unicorn/wiki/Coding-Convention
|
||||||
|
|||||||
Reference in New Issue
Block a user