|
iPXE
|
PXE API entry point. More...
Go to the source code of this file.
Macros | |
| #define | PXE_LOAD_SEGMENT 0 |
| PXE load address segment. | |
| #define | PXE_LOAD_OFFSET 0x7c00 |
| PXE load address offset. | |
| #define | PXE_LOAD_PHYS ( ( PXE_LOAD_SEGMENT << 4 ) + PXE_LOAD_OFFSET ) |
| PXE physical load address. | |
| #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 | |
| struct s_PXENV | __text16 (pxenv) |
| PXENV+ structure. | |
| void | pxe_activate (struct net_device *netdev) |
| Activate PXE stack. | |
| int | pxe_deactivate (void) |
| Deactivate PXE stack. | |
| int | pxe_start_nbp (void) |
| Start PXE NBP at 0000:7c00. | |
| __asmcall void | pxe_api_call (struct i386_all_regs *ix86) |
| Dispatch PXE API call. | |
| int | pxe_api_call_weak (struct i386_all_regs *ix86) |
| Dispatch weak PXE API call with PXE stack available. | |
Variables | |
| rmjmp_buf | pxe_restart_nbp |
| PXENV_RESTART_TFTP jump buffer. | |
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.
Referenced by pxenv_restart_tftp().
| #define ppxe __use_text16 ( ppxe ) |
Definition at line 28 of file pxe_call.h.
Referenced by __text16(), pxe_init_structures(), pxe_loader_call(), pxe_start_nbp(), undi_load(), and undi_loader().
| #define pxenv __use_text16 ( pxenv ) |
Definition at line 32 of file pxe_call.h.
Referenced by __text16(), pxe_activate(), pxe_init_structures(), pxe_start_nbp(), and undi_loader().
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
|
extern |
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().
|
extern |
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().
|
extern |
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, ppxe, pxe_netdev, pxe_restart_nbp, pxenv, REAL_CODE, rm_cs, rm_ds, rmsetjmp, and status.
Referenced by pxe_exec().
|
extern |
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 __asmcall, 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().
|
extern |
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().
Referenced by int22().
|
extern |
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().