library.c
Box64 uses three flags—notwrapped, essential, and precise—to decide whether a library should be loaded via the host’s native loader (“wrapped”) or via its ELF loader (“emulated”).
In short, when precise == 1, Box64 will go straight to initEmulatedLib(). If initEmulatedLib() fails, Box64 will attempt initWrappedLib() before returning an error.
Similarly, when precise == 0, notwrapped == 0, and essential == 1, Box64 will first try initWrappedLib(), and will fall back to initEmulatedLib() if the wrapped loading fails.
if(!notwrapped && !precise)
initWrappedLib(lib, context);
devarajabc changed a month agoView mode Like Bookmark
contributed by < devarajabc >
Introduction to deferred interrupts (Softirq, Tasklets and Workqueues)
Softirqs
The bottom half of the processor -> a common noun referring to all the different ways of organizing deferred processing of an interrupt.
An interrupt handler can do large amount of work that is impermissible as it executes in the context where interrupts are disabled.
為什麼 interrupts are disabled ? 如何做到的?
Jim Huang changed 2 months agoView mode Like Bookmark
contributed by < devarajabc >
q1-1
此題旨在利用指標的指標實作 list_insert_before
The macro LIST_INSERT_BEFORE() inserts the new element elm before the element listelm.
解釋程式碼運作原理
為何要使用 pointet to pointer ?
最天真的想法是走訪整個鏈結串列,找到 before 的前一位節點 cure 並將 cur->next 的值改為 item 而item->next 賦值為 before.
devarajabc changed 3 months agoView mode Like Bookmark
Dynarec v0.3.1 126cf279
built on Nov 1 2024 18:08:42
實驗環境組態:Tinker V
準備:
由於 debian 的 usr/bin 找不到 time, 因此要先從 usr/bin 複製過去
測量方式:
利用 time -p 來測量程式執行的時間,並將 user time 記錄下來
Jim Huang changed 6 months agoView mode Like Bookmark