@@ -13,7 +13,6 @@ use core::{
13
13
ops:: { Deref , DerefMut } ,
14
14
ptr, slice,
15
15
} ;
16
- use raw_cpuid:: { CpuId , Hypervisor } ;
17
16
use uefi:: {
18
17
prelude:: { entry, Boot , Handle , Status , SystemTable } ,
19
18
proto:: {
@@ -98,21 +97,13 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
98
97
} ;
99
98
100
99
#[ allow( deprecated) ]
101
- if config
102
- . frame_buffer_physical
103
- . minimum_framebuffer_height
104
- . is_none ( )
105
- {
106
- config. frame_buffer_physical . minimum_framebuffer_height =
100
+ if config. frame_buffer . minimum_framebuffer_height . is_none ( ) {
101
+ config. frame_buffer . minimum_framebuffer_height =
107
102
kernel. config . frame_buffer . minimum_framebuffer_height ;
108
103
}
109
104
#[ allow( deprecated) ]
110
- if config
111
- . frame_buffer_physical
112
- . minimum_framebuffer_width
113
- . is_none ( )
114
- {
115
- config. frame_buffer_physical . minimum_framebuffer_width =
105
+ if config. frame_buffer . minimum_framebuffer_width . is_none ( ) {
106
+ config. frame_buffer . minimum_framebuffer_width =
116
107
kernel. config . frame_buffer . minimum_framebuffer_width ;
117
108
}
118
109
let framebuffer = init_logger ( image, & st, & config) ;
@@ -175,7 +166,7 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
175
166
} ,
176
167
ramdisk_addr,
177
168
ramdisk_len,
178
- rt_table_addr : Some ( system_table. get_current_system_table_addr ( ) ) ,
169
+ rt_table_addr : Some ( & system_table as * const _ as u64 ) ,
179
170
} ;
180
171
181
172
bootloader_x86_64_common:: load_and_switch_to_kernel (
@@ -482,82 +473,25 @@ fn init_logger(
482
473
483
474
let mode = {
484
475
let modes = gop. modes ( ) ;
485
-
486
- if let Some ( hypervisor) = CpuId :: new ( ) . get_hypervisor_info ( ) {
487
- if let Hypervisor :: Xen = hypervisor. identify ( ) {
488
- // Use same rules as real hardware since Xen uses the whole screen
489
- match (
490
- config
491
- . frame_buffer_physical
492
- . minimum_framebuffer_height
493
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
494
- config
495
- . frame_buffer_physical
496
- . minimum_framebuffer_width
497
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
498
- ) {
499
- ( Some ( height) , Some ( width) ) => modes
500
- . filter ( |m| {
501
- let res = m. info ( ) . resolution ( ) ;
502
- res. 1 >= height && res. 0 >= width
503
- } )
504
- . last ( ) ,
505
- ( Some ( height) , None ) => {
506
- modes. filter ( |m| m. info ( ) . resolution ( ) . 1 >= height) . last ( )
507
- }
508
- ( None , Some ( width) ) => {
509
- modes. filter ( |m| m. info ( ) . resolution ( ) . 0 >= width) . last ( )
510
- }
511
- _ => None ,
512
- }
513
- } else {
514
- match (
515
- config
516
- . frame_buffer_virtual
517
- . minimum_framebuffer_height
518
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
519
- config
520
- . frame_buffer_virtual
521
- . minimum_framebuffer_width
522
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
523
- ) {
524
- ( Some ( height) , Some ( width) ) => modes
525
- . filter ( |m| {
526
- let res = m. info ( ) . resolution ( ) ;
527
- res. 1 >= height && res. 0 >= width
528
- } )
529
- . last ( ) ,
530
- ( Some ( height) , None ) => {
531
- modes. filter ( |m| m. info ( ) . resolution ( ) . 1 >= height) . last ( )
532
- }
533
- ( None , Some ( width) ) => {
534
- modes. filter ( |m| m. info ( ) . resolution ( ) . 0 >= width) . last ( )
535
- }
536
- _ => None ,
537
- }
538
- }
539
- } else {
540
- // On real hardware; set rules accordingly
541
- match (
542
- config
543
- . frame_buffer_physical
544
- . minimum_framebuffer_height
545
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
546
- config
547
- . frame_buffer_physical
548
- . minimum_framebuffer_width
549
- . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
550
- ) {
551
- ( Some ( height) , Some ( width) ) => modes
552
- . filter ( |m| {
553
- let res = m. info ( ) . resolution ( ) ;
554
- res. 1 >= height && res. 0 >= width
555
- } )
556
- . last ( ) ,
557
- ( Some ( height) , None ) => modes. filter ( |m| m. info ( ) . resolution ( ) . 1 >= height) . last ( ) ,
558
- ( None , Some ( width) ) => modes. filter ( |m| m. info ( ) . resolution ( ) . 0 >= width) . last ( ) ,
559
- _ => None ,
560
- }
476
+ match (
477
+ config
478
+ . frame_buffer
479
+ . minimum_framebuffer_height
480
+ . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
481
+ config
482
+ . frame_buffer
483
+ . minimum_framebuffer_width
484
+ . map ( |v| usize:: try_from ( v) . unwrap ( ) ) ,
485
+ ) {
486
+ ( Some ( height) , Some ( width) ) => modes
487
+ . filter ( |m| {
488
+ let res = m. info ( ) . resolution ( ) ;
489
+ res. 1 >= height && res. 0 >= width
490
+ } )
491
+ . last ( ) ,
492
+ ( Some ( height) , None ) => modes. filter ( |m| m. info ( ) . resolution ( ) . 1 >= height) . last ( ) ,
493
+ ( None , Some ( width) ) => modes. filter ( |m| m. info ( ) . resolution ( ) . 0 >= width) . last ( ) ,
494
+ _ => None ,
561
495
}
562
496
} ;
563
497
if let Some ( mode) = mode {
@@ -620,4 +554,4 @@ fn panic(info: &core::panic::PanicInfo) -> ! {
620
554
loop {
621
555
unsafe { asm ! ( "cli; hlt" ) } ;
622
556
}
623
- }
557
+ }
0 commit comments