63 DBGC (
image,
"IMAGE %p could not prepare segment: %s\n",
73 DBGC (
image,
"IMAGE %p could not locate PXE net device\n",
126 if (
image->
len > ( 0xa0000 - 0x7c00 ) )
158 DBGC (
image,
"IMAGE %p may be an EFI image\n",
175 .name =
"PXE-NBP (may be EFI?)",
void pxe_activate(struct net_device *netdev)
Activate PXE stack.
static int pxe_exec(struct image *image)
Execute PXE image.
int pxe_probe(struct image *image)
Probe PXE image.
struct arbelprm_rc_send_wqe rc
userptr_t data
Raw file image.
#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.
An executable image type.
#define EFI_IMAGE_DOS_SIGNATURE
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
#define FEATURE_IMAGE
Image formats.
Access to external ("user") memory.
char * name
Name of this image type.
char * cmdline
Command line to pass to image.
struct image_type pxe_image_type [] __image_type(PROBE_PXE)
PXE image type.
Executable image segments.
void pxe_fake_cached_info(void)
Construct cached DHCP packets.
#define DHCP_EB_FEATURE_PXE
PXE format.
uint32_t userptr_t
A pointer to a user buffer.
int pxe_deactivate(void)
Deactivate PXE stack.
int prep_segment(userptr_t segment, size_t filesz, size_t memsz)
Prepare segment for loading.
static void netdev_put(struct net_device *netdev)
Drop reference to network device.
FEATURE(FEATURE_IMAGE, "PXE", DHCP_EB_FEATURE_PXE, 1)
const char * pxe_cmdline
PXE command line.
static struct net_device * netdev
struct net_device * last_opened_netdev(void)
Get most recently opened network device.
int pxe_probe_no_mz(struct image *image)
Probe PXE image (with rejection of potential EFI images)
char * strerror(int errno)
Retrieve string representation of error number.
size_t len
Length of raw file image.
int pxe_start_nbp(void)
Start PXE NBP at 0000:7c00.
#define ENODEV
No such device.
static void console_reset(void)
Reset console.
static struct net_device * netdev_get(struct net_device *netdev)
Get reference to network device.
EFI image format for PE32, PE32+ and TE.
uint16_t magic
Magic signature.
struct device * dev
Underlying hardware device.
Network device management.
#define PROBE_PXE
PXE image probe priority.
#define ENOTTY
Inappropriate I/O control operation.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
#define cpu_to_le16(value)
struct device_description desc
Device description.
static __always_inline userptr_t real_to_user(unsigned int segment, unsigned int offset)
Convert segment:offset address to user buffer.
#define NULL
NULL pointer (VOID *)
static int netdev_irq_supported(struct net_device *netdev)
Check whether or not network device supports interrupts.
int netdev_open(struct net_device *netdev)
Open network device.
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.