mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
Commit partial implementation of SUNW,retain for SPARC64 based upon the existing physical allocation routines. I've been unable
to finish the code and test retention after a restart since the OpenBIOS words reset and reset-all don't seem to work at the moment. However, it enables OpenSolaris boot to get further in the meantime. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk> git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@766 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
committed by
Mark Cave-Ayland
parent
0c2f6e929d
commit
ca0f9c5a03
@@ -46,10 +46,17 @@ typedef struct {
|
||||
|
||||
range_t *phys_range;
|
||||
range_t *virt_range;
|
||||
range_t *retain_phys_range; /* physical memory that should survive a warm reset */
|
||||
|
||||
translation_t *trans; /* this is really a translation_t */
|
||||
} ofmem_t;
|
||||
|
||||
/* structure for retained data at the top of the heap */
|
||||
typedef struct {
|
||||
ucell magic;
|
||||
range_t *retain_phys_range;
|
||||
} retain_t;
|
||||
|
||||
/* TODO: temporary migration interface */
|
||||
extern ofmem_t* ofmem_arch_get_private(void);
|
||||
extern void* ofmem_arch_get_malloc_base(void);
|
||||
@@ -86,6 +93,8 @@ extern ucell ofmem_claim( ucell addr, ucell size, ucell align );
|
||||
extern ucell ofmem_claim_phys( ucell mphys, ucell size, ucell align );
|
||||
extern ucell ofmem_claim_virt( ucell mvirt, ucell size, ucell align );
|
||||
|
||||
extern ucell ofmem_retain( ucell phys, ucell size, ucell align );
|
||||
|
||||
extern int ofmem_map( ucell phys, ucell virt, ucell size, ucell mode );
|
||||
extern int ofmem_unmap( ucell virt, ucell size );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user