|
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 269 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 300 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 330 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, and status.
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, DBGC, i386_regs::di, pxe_api_call::entry, i386_seg_regs::es, find_pxe_api_call(), opcode, profile_start(), profile_stop(), pxe_api_profiler(), pxe_netdev, PXENV_STATUS_FAILURE, real_to_virt(), 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 182 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 323 of file pxe_call.c.
Referenced by pxe_start_nbp(), and pxenv_restart_tftp().
1.8.15