This commit moves the kernelboot module to the newly created boot_info crate. There are two purposes to do this. Firstly, to remove the common crate, which is now a garbage can where codes have nowhere to go. Secondly, to solve a problem caused by the workspace's property. Currently, the boot_info crate depends on the uefi crate, so does the bootx64 crate. Also, the bootx64 crate enables its allocation feature.
Furthermore, the kernel depends on the crate so that the compiler will build the kernel with the duplicated global allocator. See https://stackoverflow.com/questions/68955652/how-to-avoid-global-allocator-conflicts/68977928#68977928 for the detail. On another PR, I will remove the uefi dependency from the crate.
This commit moves the
kernelboot
module to the newly createdboot_info
crate. There are two purposes to do this. Firstly, to remove thecommon
crate, which is now a garbage can where codes have nowhere to go. Secondly, to solve a problem caused by the workspace's property. Currently, theboot_info
crate depends on theuefi
crate, so does thebootx64
crate. Also, thebootx64
crate enables its allocation feature. Furthermore, the kernel depends on the crate so that the compiler will build the kernel with the duplicated global allocator. See https://stackoverflow.com/questions/68955652/how-to-avoid-global-allocator-conflicts/68977928#68977928 for the detail. On another PR, I will remove theuefi
dependency from the crate.