Skip to content

Commit d85d67c

Browse files
committed
修复 riscv64 未初始化 drm 与设备软链接导致空指针问题.
修复部分警告.
1 parent f44612b commit d85d67c

File tree

11 files changed

+388
-118
lines changed

11 files changed

+388
-118
lines changed

src/arch/riscv64/boot/open_sbi.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ size_t boot_framebuffer_count() {
2828
return 0; // TODO
2929
}
3030

31-
static void *find_string_tag(void *mb2_info_addr) {
32-
return NULL;
33-
}
34-
3531
char *get_kernel_cmdline() {
3632
return kernel_cmdline ? kernel_cmdline : empty_kernel_cmdline;
3733
}

src/arch/riscv64/librv64.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ void arch_wait_for_interrupt() {
1111
}
1212

1313
void arch_open_interrupt() {
14-
csr_set(sstatus, (1 << 1)); /* SIE */
14+
csr_set(sstatus, 1 << 1); /* SIE */
1515
}
1616

1717
void arch_close_interrupt() {
18-
csr_clear(sstatus, (1 << 1)); /* SIE */
18+
csr_clear(sstatus, 1 << 1); /* SIE */
1919
}
2020

2121
bool arch_check_interrupt(void) {
@@ -47,9 +47,9 @@ void arch_pci_legacy_enum() {
4747

4848
void arch_cpu_init() {
4949
// SUM
50-
csr_set(sstatus, (1UL << 18));
50+
csr_set(sstatus, 1UL << 18);
5151
// FPU
52-
csr_set(sstatus, (3UL << 13));
52+
csr_set(sstatus, 3UL << 13);
5353
}
5454

5555
bool arch_get_random_bytes(uint8_t *buf, size_t size) {

src/arch/riscv64/main.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#include "bootarg.h"
22
#include "driver/blk_device.h"
3+
#include "driver/drm/drm_device.h"
34
#include "driver/gop.h"
45
#include "driver/input_device.h"
56
#include "driver/serial.h"
@@ -42,6 +43,7 @@ USED _Noreturn void kmain() {
4243
printk("CoolPotOS %s\n", KERNEL_NAME);
4344
kinfo("kernel cmdline(%llu): %s", boot_argc, get_kernel_cmdline());
4445
init_block_device_manager();
46+
drm_device_setup();
4547
vfs_init();
4648
intctl_init();
4749
trap_init();
@@ -66,7 +68,9 @@ USED _Noreturn void kmain() {
6668
scheduler_enable();
6769
arch_open_interrupt();
6870

69-
// launch_init_process();
71+
init_console_symlink();
72+
73+
launch_init_process();
7074

7175
while (true) {
7276
arch_wait_for_interrupt();

0 commit comments

Comments
 (0)