iPXE
|
PXE API entry point. More...
Go to the source code of this file.
Macros | |
#define | PXE_LOAD_SEGMENT 0 |
PXE load address segment. More... | |
#define | PXE_LOAD_OFFSET 0x7c00 |
PXE load address offset. More... | |
#define | PXE_LOAD_PHYS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET ) |
PXE physical load address. More... | |
#define | ppxe __use_text16 ( ppxe ) |
#define | pxenv __use_text16 ( pxenv ) |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
struct s_PXE | __text16 (ppxe) |
!PXE structure More... | |
struct s_PXENV | __text16 (pxenv) |
PXENV+ structure. More... | |
void | pxe_activate (struct net_device *netdev) |
Activate PXE stack. More... | |
int | pxe_deactivate (void) |
Deactivate PXE stack. More... | |
int | pxe_start_nbp (void) |
Start PXE NBP at 0000:7c00. More... | |
__asmcall void | pxe_api_call (struct i386_all_regs *ix86) |
Dispatch PXE API call. More... | |
int | pxe_api_call_weak (struct i386_all_regs *ix86) |
Dispatch weak PXE API call with PXE stack available. More... | |
Variables | |
rmjmp_buf | pxe_restart_nbp |
PXENV_RESTART_TFTP jump buffer. More... | |
PXE API entry point.
Definition in file pxe_call.h.
#define PXE_LOAD_SEGMENT 0 |
PXE load address segment.
Definition at line 18 of file pxe_call.h.
#define PXE_LOAD_OFFSET 0x7c00 |
PXE load address offset.
Definition at line 21 of file pxe_call.h.
#define PXE_LOAD_PHYS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET ) |
PXE physical load address.
Definition at line 24 of file pxe_call.h.
#define ppxe __use_text16 ( ppxe ) |
Definition at line 28 of file pxe_call.h.
#define pxenv __use_text16 ( pxenv ) |
Definition at line 32 of file pxe_call.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
void pxe_activate | ( | struct net_device * | netdev | ) |
Activate PXE stack.
netdev | Net device to use as PXE net device |
Definition at line 276 of file pxe_call.c.
References __asm__(), __from_text16, __volatile__(), devices_get(), hook_bios_interrupt(), int_1a_hooked, netdev, pxe_int_1a(), pxe_int_1a_vector, pxe_set_netdev(), pxenv, and REAL_CODE.
Referenced by pxe_exec(), pxe_notify(), pxenv_start_undi(), and startpxe_payload().
int pxe_deactivate | ( | void | ) |
Deactivate PXE stack.
rc | Return status code |
Definition at line 307 of file pxe_call.c.
References DBGC, devices_put(), int_1a_hooked, NULL, pxe_int_1a(), pxe_int_1a_vector, pxe_netdev, pxe_set_netdev(), rc, strerror(), and unhook_bios_interrupt().
Referenced by pxe_exec(), pxe_notify(), pxenv_stop_undi(), and stoppxe_exec().
int pxe_start_nbp | ( | void | ) |
Start PXE NBP at 0000:7c00.
rc | Return status code |
Definition at line 337 of file pxe_call.c.
References __asm__(), __from_text16, __volatile__(), _data16_memsz, _text16_memsz, DBGC, discard_c, discard_D, EPXENBP, jmp, net_device::name, ppxe, pxe_netdev, pxe_restart_nbp, pxenv, REAL_CODE, rm_cs, rm_ds, rmsetjmp, status, and virt_to_phys().
Referenced by pxe_exec().
__asmcall void pxe_api_call | ( | struct i386_all_regs * | ix86 | ) |
Dispatch PXE API call.
bx | PXE opcode |
es:di | Address of PXE parameter block |
ax | PXE exit code |
Definition at line 145 of file pxe_call.c.
References i386_regs::ax, i386_regs::bx, copy_from_user(), copy_to_user(), DBGC, i386_regs::di, pxe_api_call::entry, i386_seg_regs::es, find_pxe_api_call(), opcode, pxe_api_call::params_len, profile_start(), profile_stop(), pxe_api_profiler(), pxe_netdev, PXENV_STATUS_FAILURE, real_to_user(), i386_all_regs::regs, i386_all_regs::segs, and u_PXENV_ANY::Status.
Referenced by pxe_api_call_weak().
int pxe_api_call_weak | ( | struct i386_all_regs * | ix86 | ) |
Dispatch weak PXE API call with PXE stack available.
ix86 | Registers for PXE call |
present | Zero (PXE stack present) |
Definition at line 186 of file pxe_call.c.
References pxe_api_call().
rmjmp_buf pxe_restart_nbp |
PXENV_RESTART_TFTP jump buffer.
PXENV_RESTART_TFTP jump buffer.
Definition at line 330 of file pxe_call.c.
Referenced by pxe_start_nbp(), and pxenv_restart_tftp().