增加/dev/fb0,能够在用户程序读写帧缓冲区 (#485)

This commit is contained in:
LoGin
2024-01-02 14:16:10 +08:00
committed by GitHub
parent e7071df6a4
commit 02343d0b5b
22 changed files with 230 additions and 53 deletions

View File

@ -91,15 +91,15 @@ impl VideoRefreshManager {
);
boot_params().write_irqsave().screen_info.lfb_virt_base = Some(buf_vaddr);
let mut frame_buffer_info_graud = self.device_buffer.write();
if let ScmBuffer::DeviceBuffer(vaddr) = &mut (frame_buffer_info_graud).buf {
let mut frame_buffer_info_guard = self.device_buffer.write();
if let ScmBuffer::DeviceBuffer(vaddr) = &mut (frame_buffer_info_guard).buf {
*vaddr = buf_vaddr;
}
// 地址映射
let mut paddr = boot_params().read().screen_info.lfb_base;
let count = PageFrameCount::new(
page_align_up(frame_buffer_info_graud.buf_size()) / MMArch::PAGE_SIZE,
page_align_up(frame_buffer_info_guard.buf_size()) / MMArch::PAGE_SIZE,
);
let page_flags: PageFlags<MMArch> = PageFlags::new().set_execute(true).set_write(true);