* remove need of grub and iso image booting
* adjust the build process and bootstrap procedure, to bypass the
need of boot from iso image
* feat: allow custom rootfs.
* feat: add script to package rootfs with default layout.
* fix: some left-over bugs in x86_32
* ref: change a typo
* add `init=...` kernel option, decouple the init location
* (multiboot) use address header to instruct multiboot compliance
to load our kernel, to give us more flexibility
* ref: make mkrootfs more flexible, by moving the rootfs structuring
to usr/makefile
* ref: some refectoring
* fix: old mount point not being recovered when mount failed
* fix deadlock when process killed while blocked by file io
* fix: deadlock when process killed while blocked by file io.
this bug is addressed somewhere in the past, however the latest
refactoring break the logic.
* fix: signal delivery does not check if the process being destroyed.
* fix: procvm_mount and unmount now simply return if current mm is
already the active one.
* fix: signal group delivery always deliver the current one, which is
not essentially true.
* fix: incorrect thread group being terminated during terminate_process
* fix: wake the blocked reader on line_in buffer when a signal is raised
by some control character.
* ref: some refectoring
* introduce bootmem to handle memory allocation at boot stage
* feat: bootmem is introduce to provide memory service before
lunaix's mm is avaliable. The implementation detail is
left to archiecture
* ref: we moved the preparation of boot_handoff after we have
setup the virtual memory, to remove abuse of .*.boot sections
* fix: remove the .bss.boot, it is not a good idea to have that
in the middle of address space.
* feat: add a reclaimable region that will automatically unmapped
after exiting the bootstrapping stage. All temporary stuff
that only matter during bootstrapping should go there.
* fix a statistical error in pmem usage stat
* ref: change u32_t to unsigned int
* dtb support (devicetre specification v0.4)
* ref: remove trailing spaces
* remap and load the dtb during kinit stage.
* adjust the memory map of x86_32 to make room for dtb
* injection of sanitized LOAD PHDRs for kernel to setup page tables
* feat: add a small program: elftool that give less verbose output
than readelf. This program relies purely on standard POSIX
library thus maximizing portability.
* manually planned program headers to make thing certain.
* remove iso packing and boot disk probing
* move -kernel/-append to autoqemu config
* dynamic high-memory setup based on linking time generated map
* fix: (vm) NX bit being lost due to incorrect pte attribute mask
* fix: (vm) instruction fetch permission issue. differentiate the
permission for intermediate level from leaf level.
* fix: unify all auto-generated data, now their exposed symbol
are starts with __autogen_
* update readme, clean up out-dated stuff