mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-20 05:56:32 +00:00
kernel/src
@ -38,6 +38,7 @@ use crate::{
|
||||
},
|
||||
include::bindings::bindings::{
|
||||
multiboot2_get_Framebuffer_info, multiboot2_iter, multiboot_tag_framebuffer_info_t,
|
||||
FRAME_BUFFER_MAPPING_OFFSET,
|
||||
},
|
||||
init::{boot_params, initcall::INITCALL_DEVICE},
|
||||
libs::{
|
||||
@ -650,7 +651,11 @@ pub fn vesafb_early_init() -> Result<VirtAddr, SystemError> {
|
||||
boottime_screen_info.lfb_size =
|
||||
(width * height * ((fb_info.framebuffer_bpp as u32 + 7) / 8)) as usize;
|
||||
|
||||
let buf_vaddr = VirtAddr::new(0xffff800003200000);
|
||||
// let buf_vaddr = VirtAddr::new(0xffff800003200000);
|
||||
let buf_vaddr = VirtAddr::new(
|
||||
crate::include::bindings::bindings::SPECIAL_MEMOEY_MAPPING_VIRT_ADDR_BASE as usize
|
||||
+ FRAME_BUFFER_MAPPING_OFFSET as usize,
|
||||
);
|
||||
boottime_screen_info.lfb_virt_base = Some(buf_vaddr);
|
||||
|
||||
let init_text = "Video driver to map.\n\0";
|
||||
|
@ -3,9 +3,6 @@ use core::sync::atomic::{AtomicBool, Ordering};
|
||||
use crate::{
|
||||
arch::MMArch,
|
||||
driver::tty::serial::serial8250::send_to_default_serial8250_port,
|
||||
include::bindings::bindings::{
|
||||
FRAME_BUFFER_MAPPING_OFFSET, SPECIAL_MEMOEY_MAPPING_VIRT_ADDR_BASE,
|
||||
},
|
||||
init::boot_params,
|
||||
kinfo,
|
||||
libs::{
|
||||
@ -16,7 +13,7 @@ use crate::{
|
||||
},
|
||||
mm::{
|
||||
allocator::page_frame::PageFrameCount, kernel_mapper::KernelMapper, page::PageFlags,
|
||||
MemoryManagementArch, VirtAddr,
|
||||
MemoryManagementArch,
|
||||
},
|
||||
time::timer::{Timer, TimerFunction},
|
||||
};
|
||||
@ -86,10 +83,11 @@ impl VideoRefreshManager {
|
||||
*/
|
||||
fn init_frame_buffer(&self) {
|
||||
kinfo!("Re-mapping VBE frame buffer...");
|
||||
let buf_vaddr = VirtAddr::new(
|
||||
SPECIAL_MEMOEY_MAPPING_VIRT_ADDR_BASE as usize + FRAME_BUFFER_MAPPING_OFFSET as usize,
|
||||
);
|
||||
boot_params().write_irqsave().screen_info.lfb_virt_base = Some(buf_vaddr);
|
||||
let buf_vaddr = boot_params()
|
||||
.read_irqsave()
|
||||
.screen_info
|
||||
.lfb_virt_base
|
||||
.unwrap();
|
||||
|
||||
let mut frame_buffer_info_guard = self.device_buffer.write();
|
||||
if let ScmBuffer::DeviceBuffer(vaddr) = &mut (frame_buffer_info_guard).buf {
|
||||
|
Reference in New Issue
Block a user