Jim Huang

Results 107 issues of Jim Huang

The build target "config" should not only specify the target for code generation (Arm by default) but also check the availability of prerequisites such as `qemu-arm` and `qemu-riscv32`.

Reproducible with the following change: ```diff --- a/src/codegen.c +++ b/src/codegen.c @@ -77,7 +77,7 @@ void size_funcs(int data_start) data_start + elf_data_idx); /* TODO: add .bss section */ if (strcmp(blk->locals[i].type_name, "int") ==...

At present, `malloc` was implemented via `brk` system call, which is obsolete. Most malloc implementations use `mmap` system call instead. We shall drop the use of `brk` in favor of...

Documentation [Ravi Performance Benchmarks](https://github.com/dibyendumajumdar/ravi/blob/master/readthedocs/ravi-benchmarks.rst) and [Ravi JIT Compilation Status](https://github.com/dibyendumajumdar/ravi/blob/master/readthedocs/ravi-jit-status.rst) are considered as outdated since Ravi switches to MIR as the base of JIT compilation rather than LLVM. The pages should...

It is possible that in future tasklets may be replaced by threaded irqs.

Since this book was not inactive for more than 13 years, Linux world changes a lot. We should learn from recent materials in order to revise the book. Random sites:...

[`__next__`](https://www.reddit.com/user/__next__/) at Reddit gave [the feedback](https://www.reddit.com/r/linux/comments/owc2gh/the_linux_kernel_module_programming_guide/): > Interrupts can't happen during the lock as the main idea of using `spin_lock_irq` is to disable (on the logical core, let's use "local...

[Linux Kernel Module Cheat](https://github.com/cirosantilli/linux-kernel-module-cheat) is an ideal environment for experimenting Linux kernel modules by means of system emulations such as QEMU. We should follow the steps for better developer experience...

There are various deprecated functions/macros used in LKMPG. For example, `try_module_get(THIS_MODULE)` is regarded as unsafe. See https://stackoverflow.com/questions/1741415/linux-kernel-modules-when-to-use-try-module-get-module-put

Travis-CI is the preferable continuous integration so far.