57 if (
image->
len < sizeof ( *sdi ) ) {
94 DBGC (
image,
"SDI %p image at %08lx+%08zx\n",
static int sdi_exec(struct image *image)
Execute SDI image.
struct arbelprm_rc_send_wqe rc
#define SDI_BOOT_SEG
SDI boot segment.
userptr_t data
Raw file image.
System Deployment Image (SDI)
#define ENOEXEC
Exec format error.
static __always_inline void copy_from_user(void *dest, userptr_t src, off_t src_off, size_t len)
Copy data from user buffer.
unsigned long user_to_phys(userptr_t userptr, off_t offset)
Convert user pointer to physical address.
An executable image type.
#define PROBE_NORMAL
Normal image probe priority.
#define FEATURE_IMAGE
Image formats.
struct image_type sdi_image_type __image_type(PROBE_NORMAL)
SDI image type.
#define ECANCELED
Operation canceled.
char * name
Name of this image type.
assert((readw(&hdr->flags) &(GTF_reading|GTF_writing))==0)
#define SDI_WTF
Constant to binary-OR with physical address of SDI image.
static int sdi_probe(struct image *image)
Probe SDI image.
size_t len
Length of raw file image.
__asm__ __volatile__("call *%9" :"=a"(result), "=c"(discard_ecx), "=d"(discard_edx) :"d"(0), "a"(code), "b"(0), "c"(in_phys), "D"(0), "S"(out_phys), "m"(hypercall))
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
#define SDI_MAGIC
SDI image signature.
__asm__(".section \".rodata\", \"a\", " PROGBITS "\n\t" "\nprivate_key_data:\n\t" ".size private_key_data, ( . - private_key_data )\n\t" ".equ private_key_len, ( . - private_key_data )\n\t" ".previous\n\t")
#define DHCP_EB_FEATURE_SDI
SDI image support.
#define ENOTTY
Inappropriate I/O control operation.
FEATURE(FEATURE_IMAGE, "SDI", DHCP_EB_FEATURE_SDI, 1)
static __always_inline userptr_t real_to_user(unsigned int segment, unsigned int offset)
Convert segment:offset address to user buffer.
#define SDI_BOOT_OFF
SDI boot offset.
#define REAL_CODE(asm_code_str)
static int sdi_parse_header(struct image *image, struct sdi_header *sdi)
Parse SDI image header.
void memcpy_user(userptr_t dest, off_t dest_off, userptr_t src, off_t src_off, size_t len)
Copy data between user buffers.