[ARM]
- don't clobber the parameter regs in the entry point, - fix entry point address for netbsd loader emulation, - added a gUImage global to point to the uimage blob with the tgz, - added tgz info to platform stage2 args, - add simple uimage support, just dumps the header and gets the nth blob in the image, (seems we have a bug in the math code, some infos don't print), - made devices.cpp use them to publish the MemoryDisk, - add an haiku_loader_nbsd.ub target which puts both the loader and kernel_arm for now (need to replace with the tgz). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32295 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
#endif
|
||||
|
||||
struct platform_stage2_args {
|
||||
void *boot_tgz_data;
|
||||
uint32 boot_tgz_size;
|
||||
};
|
||||
|
||||
#endif /* KERNEL_BOOT_PLATFORM_UBOOT_STAGE2_H */
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2009 Haiku Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* François Revol, [email protected]
|
||||
*/
|
||||
#ifndef KERNEL_BOOT_PLATFORM_UBOOT_UIMAGE_H
|
||||
#define KERNEL_BOOT_PLATFORM_UBOOT_UIMAGE_H
|
||||
|
||||
#include <SupportDefs.h>
|
||||
|
||||
/* same type and constant names as U-Boot */
|
||||
|
||||
#define IH_TYPE_STANDALONE 1
|
||||
#define IH_TYPE_KERNEL 2
|
||||
#define IH_TYPE_RAMDISK 3
|
||||
#define IH_TYPE_MULTI 4
|
||||
|
||||
#define IH_COMP_NONE 0
|
||||
|
||||
#define IH_MAGIC 0x27051956
|
||||
#define IH_NMLEN 32
|
||||
|
||||
typedef struct image_header {
|
||||
uint32 ih_magic;
|
||||
uint32 ih_hcrc;
|
||||
uint32 ih_time;
|
||||
uint32 ih_size;
|
||||
uint32 ih_load;
|
||||
uint32 ih_ep;
|
||||
uint32 ih_dcrc;
|
||||
uint8 ih_os;
|
||||
uint8 ih_arch;
|
||||
uint8 ih_type;
|
||||
uint8 ih_comp;
|
||||
char ih_name[IH_NMLEN];
|
||||
} image_header_t;
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void dump_uimage(struct image_header *image);
|
||||
bool image_multi_getimg(struct image_header *image, uint32 idx,
|
||||
uint32 *data, uint32 *size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* KERNEL_BOOT_PLATFORM_UBOOT_UIMAGE_H */
|
||||
Reference in New Issue
Block a user