mirror of
https://github.com/ipxe/ipxe
synced 2025-12-31 06:49:20 +03:00
Don't call PXENV_STOP_UNDI in the kpxeprefix. This slighy breaks the
clean separation between loading and starting, but does mean that more PXE stacks survive the process.
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef ASSEMBLY
|
||||
|
||||
#include <gpxe/device.h>
|
||||
#include <pxe_types.h>
|
||||
|
||||
@@ -42,8 +44,12 @@ struct undi_device {
|
||||
* Filled in only for the preloaded UNDI device by pxeprefix.S
|
||||
*/
|
||||
UINT16_t pci_device;
|
||||
/** Padding */
|
||||
UINT16_t pad;
|
||||
/** Flags
|
||||
*
|
||||
* This is the bitwise OR of zero or more UNDI_FL_XXX
|
||||
* constants.
|
||||
*/
|
||||
UINT16_t flags;
|
||||
|
||||
/** Generic device */
|
||||
struct device dev;
|
||||
@@ -55,15 +61,6 @@ struct undi_device {
|
||||
void *priv;
|
||||
} __attribute__ (( packed ));
|
||||
|
||||
/** PCI bus:dev.fn field is invalid */
|
||||
#define UNDI_NO_PCI_BUSDEVFN 0xffff
|
||||
|
||||
/** ISAPnP card select number field is invalid */
|
||||
#define UNDI_NO_ISAPNP_CSN 0xffff
|
||||
|
||||
/** ISAPnP read port field is invalid */
|
||||
#define UNDI_NO_ISAPNP_READ_PORT 0xffff
|
||||
|
||||
/**
|
||||
* Set UNDI driver-private data
|
||||
*
|
||||
@@ -84,4 +81,18 @@ static inline void * undi_get_drvdata ( struct undi_device *undi ) {
|
||||
return undi->priv;
|
||||
}
|
||||
|
||||
#endif /* ASSEMBLY */
|
||||
|
||||
/** PCI bus:dev.fn field is invalid */
|
||||
#define UNDI_NO_PCI_BUSDEVFN 0xffff
|
||||
|
||||
/** ISAPnP card select number field is invalid */
|
||||
#define UNDI_NO_ISAPNP_CSN 0xffff
|
||||
|
||||
/** ISAPnP read port field is invalid */
|
||||
#define UNDI_NO_ISAPNP_READ_PORT 0xffff
|
||||
|
||||
/** UNDI flag: START_UNDI has been called */
|
||||
#define UNDI_FL_STARTED 0x0001
|
||||
|
||||
#endif /* _UNDI_H */
|
||||
|
||||
Reference in New Issue
Block a user