 bc70232918
			
		
	
	
		bc70232918
		
	
	
	
	
		
			
			This adds a dynamic bios linker/loader.
This will be used by acpi table generation
code to:
    - load each table in the appropriate memory segment
    - link tables to each other
    - fix up checksums after said linking
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Tested-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Tested-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
		
	
			
		
			
				
	
	
		
			28 lines
		
	
	
		
			952 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			952 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef BIOS_LINKER_LOADER_H
 | |
| #define BIOS_LINKER_LOADER_H
 | |
| 
 | |
| #include <glib.h>
 | |
| #include <stdbool.h>
 | |
| #include <inttypes.h>
 | |
| 
 | |
| GArray *bios_linker_loader_init(void);
 | |
| 
 | |
| void bios_linker_loader_alloc(GArray *linker,
 | |
|                               const char *file,
 | |
|                               uint32_t alloc_align,
 | |
|                               bool alloc_fseg);
 | |
| 
 | |
| void bios_linker_loader_add_checksum(GArray *linker, const char *file,
 | |
|                                      void *table,
 | |
|                                      void *start, unsigned size,
 | |
|                                      uint8_t *checksum);
 | |
| 
 | |
| void bios_linker_loader_add_pointer(GArray *linker,
 | |
|                                     const char *dest_file,
 | |
|                                     const char *src_file,
 | |
|                                     GArray *table, void *pointer,
 | |
|                                     uint8_t pointer_size);
 | |
| 
 | |
| void *bios_linker_loader_cleanup(GArray *linker);
 | |
| #endif
 |