Displaying 5 results from an estimated 5 matches for "syslinux_final_cleanup".
2014 Feb 13
2
SYSLINUX API call INT 22h/AX=0xC
Hi,
One of our customers uses INT 22h/AX=C to shut down UNDI interface. This interface is documented in http://www.syslinux.org/doc/comboot.txt. The excerpt is shown below:
AX=000Ch [2.00] Perform final cleanup
Input: AX 000Ch
DX derivative-specific flags (0000h = clean up all)
Output: None
Apparently, device is not shut down based on the description of
2014 Feb 13
0
SYSLINUX API call INT 22h/AX=0xC
...request (AX=0xc) at all.
>
> Can someone help to clarify this?
comboot_call.c is part of gPXE/iPXE, which only supports a subset of the
COMBOOT API.
However, even if you are running on top of PXELINUX proper, the INT 22h
interface is obsoleted in Syslinux 5+. Its direct replacement is the
syslinux_final_cleanup() C API call, but perhaps you could give some
insight in what your customer needs to do so we can advice if there is a
better solution?
-hpa
2014 Feb 13
2
SYSLINUX API call INT 22h/AX=0xC
...request (AX=0xc) at all.
>
> Can someone help to clarify this?
comboot_call.c is part of gPXE/iPXE, which only supports a subset of the
COMBOOT API.
However, even if you are running on top of PXELINUX proper, the INT 22h
interface is obsoleted in Syslinux 5+. Its direct replacement is the
syslinux_final_cleanup() C API call, but perhaps you could give some
insight in what your customer needs to do so we can advice if there is a
better solution?
-hpa
2012 Jul 16
5
[PATCH 0/5] Deleting __intcall() from Syslinux
From: Matt Fleming <matt.fleming at intel.com>
Since we can't use __intcall() for EFI, and since we can now have the
ELF module code resolve all our symbols at runtime, we should delete
as many references to __intcall() as possible and just access the
symbols directly.
The most interesting patch is the support for weak symbols. We need to
be able to reference derivative-specific
2012 Aug 14
1
[GIT PULL] elflink fixes
...* ----------------------------------------------------------------------- */
#include <syslinux/boot.h>
+#include <syslinux/config.h>
+#include <syslinux/pxe_api.h>
#include <stddef.h>
+#include <bios.h>
#include <com32.h>
+#include <core.h>
void syslinux_final_cleanup(uint16_t flags)
{
- static com32sys_t ireg;
+ if (syslinux_filesystem() == SYSLINUX_FS_PXELINUX)
+ unload_pxe(flags);
- ireg.eax.w[0] = 0x000c;
- ireg.edx.w[0] = flags;
-
- __intcall(0x22, &ireg, NULL);
+ cleanup_hardware();
}
diff --git a/com32/lib/syslinux/features.c b/c...