__cdecl is a misleading name, since it currently encapsulates both cdecl and regparm(0) attributes. Rename to __asmcall.
Implement PXENV_RESTART_TFTP.
Move pxe_boot() code to pxe_image.c