Эх сурвалжийг харах

multiboot2: Add missing getters

Some tags were missing important getters to
access the relevant data.
Philipp Schuster 3 жил өмнө
parent
commit
155698123d

+ 16 - 2
multiboot2/src/efi.rs

@@ -12,7 +12,7 @@ pub struct EFISdt32 {
 }
 
 impl EFISdt32 {
-    /// The Physical address of a i386 EFI system table.
+    /// The physical address of a i386 EFI system table.
     pub fn sdt_address(&self) -> usize {
         self.pointer as usize
     }
@@ -28,7 +28,7 @@ pub struct EFISdt64 {
 }
 
 impl EFISdt64 {
-    /// The Physical address of a x86_64 EFI system table.
+    /// The physical address of a x86_64 EFI system table.
     pub fn sdt_address(&self) -> usize {
         self.pointer as usize
     }
@@ -43,6 +43,13 @@ pub struct EFIImageHandle32 {
     pointer: u32,
 }
 
+impl EFIImageHandle32 {
+    /// The Physical address of a i386 EFI system table.
+    pub fn image_handle(&self) -> usize {
+        self.pointer as usize
+    }
+}
+
 /// Contains pointer to boot loader image handle.
 #[derive(Debug)]
 #[repr(C)]
@@ -51,3 +58,10 @@ pub struct EFIImageHandle64 {
     size: u32,
     pointer: u64,
 }
+
+impl EFIImageHandle64 {
+    /// The Physical address of a i386 EFI system table.
+    pub fn sdt_address(&self) -> usize {
+        self.pointer as usize
+    }
+}

+ 7 - 0
multiboot2/src/image_load_addr.rs

@@ -9,3 +9,10 @@ pub struct ImageLoadPhysAddr {
     size: u32,
     load_base_addr: u32,
 }
+
+impl ImageLoadPhysAddr {
+    /// Returns the load base address.
+    pub fn load_base_addr(&self) -> u32 {
+        self.load_base_addr
+    }
+}