重构内存分配器、增加中断支持、整理rust运行时环境 #4

Merged
pointer-to-bios merged 39 commits from downstream into main 2024-04-11 00:36:14 +08:00
4 changed files with 16 additions and 3 deletions
Showing only changes of commit 622f017b6a - Show all commits

View File

@ -116,7 +116,7 @@ typedef void (*memm_free_t)(void *allocator, void *mem);
typedef struct __allocator_t
{
#ifndef MEMM_ALLOCATOR_MAGIC
#define MEMM_ALLOCATOR_MAGIC 0x271fe441
#define MEMM_ALLOCATOR_MAGIC ((u32)0x271fe441)
#endif
// 分配器有效性由此检验,不为`MEMM_ALLOCATOR_MAGIC_NUM`说明获得了一个错误的分配器地址。
// 此值在编译时通过各种方式确定,若

View File

@ -7,7 +7,7 @@ CC = gcc
CCFLAGS = -m64 -mcmodel=large -I ../../include \
-fno-stack-protector -fno-exceptions \
-fno-builtin -nostdinc -nostdlib \
-DMEMM_ALLOCATOR_MAGIC=\"${ALLOCATOR_MAGIC}\"
-DMEMM_ALLOCATOR_MAGIC="(u32)(0x${ALLOCATOR_MAGIC})"
ifdef release
CCFLAGS := ${CCFLAGS} -O2
endif

View File

@ -139,7 +139,7 @@ impl KernelLogger {
return false;
}
}
return true;
true
};
while !all_end(&indeces, &logs) {
let mut min_ind = None;

View File

@ -206,6 +206,19 @@ impl ToString for Message {
/// .build();
/// ```
///
/// 定义了`message!`宏,简化构造消息的代码:
///
/// ```rust
/// use crate::kernel::tty::tty::BuilderFunctions::*;
///
/// message!(
/// Msg("Hello, "),
/// Msg("Metaverse"),
/// FgColor(Color::GREEN),
/// Msg("!\n"),
/// );
/// ```
///
/// 对于特殊情况可以使用非链式调用:
/// ```rust
/// let mut msg = MessageBuilder::new();