return (error);
}
+#ifdef INET
/*
* A specialization of sosend() for UDP based on protocol-specific knowledge:
* so->so_proto->pr_flags has the PR_ATOMIC field set. This means that
m_freem(control);
return (error);
}
+#endif
/*
* Implement receive operations on a socket.
dev/netif/elink_layer/elink.c optional ep
dev/disk/fd/fd.c optional fd
dev/disk/fd/fd_pccard.c optional fd pccard
-platform/pc32/isa/isa_intr.c standard
+platform/pc32/isa/isa_intr.c optional isa
bus/isa/i386/isa.c optional isa
bus/isa/i386/isa_dma.c optional isa
platform/pc32/isa/npx.c mandatory npx
#include <sys/sysctl.h>
#include <sys/bus.h>
-#include <bus/pci/pcivar.h>
-
#if 0
+#include <bus/pci/pcivar.h>
+
static unsigned piix_get_timecount(struct timecounter *tc);
static u_int32_t piix_timecounter_address;
* and I/O memory address space.
*/
+#include "use_pci.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <machine_base/apic/ioapic.h>
#include <machine_base/apic/lapic.h>
+#if NPCI > 0
#include "pcib_if.h"
+#endif
static MALLOC_DEFINE(M_NEXUSDEV, "nexusdev", "Nexus device");
struct nexus_device {
static int nexus_get_resource(device_t, device_t, int, int, u_long *, u_long *);
static void nexus_delete_resource(device_t, device_t, int, int);
+#if NPCI > 0
static int nexus_alloc_msi(device_t, device_t, int, int, int *, int);
static int nexus_release_msi(device_t, device_t, int, int *, int);
static int nexus_map_msi(device_t, device_t, int, uint64_t *, uint32_t *, int);
static int nexus_alloc_msix(device_t, device_t, int *, int);
static int nexus_release_msix(device_t, device_t, int, int);
+#endif
/*
* The device_identify method will cause nexus to automatically associate
DEVMETHOD(bus_get_resource, nexus_get_resource),
DEVMETHOD(bus_delete_resource, nexus_delete_resource),
+#if NPCI > 0
DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi),
DEVMETHOD(pcib_release_msi, nexus_release_msi),
DEVMETHOD(pcib_map_msi, nexus_map_msi),
DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix),
DEVMETHOD(pcib_release_msix, nexus_release_msix),
+#endif
{ 0, 0 }
};
resource_list_delete(rl, type, rid);
}
+#if NPCI > 0
static int
nexus_alloc_msi(device_t dev, device_t child, int count, int maxcount,
int *irqs, int cpuid)
MachIntrABI.msix_release(irq, cpuid);
return 0;
}
+#endif
bus/isa/syscons_isa.c optional sc
bus/isa/vga_isa.c optional vga
platform/pc64/isa/clock.c standard nowerror
-platform/pc64/isa/isa_intr.c standard
+platform/pc64/isa/isa_intr.c optional isa
platform/pc64/x86_64/spinlock.s standard
dev/netif/elink_layer/elink.c optional ep
* and I/O memory address space.
*/
+#include "use_pci.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <machine_base/apic/lapic.h>
#include <machine_base/apic/ioapic.h>
+#if NPCI > 0
#include "pcib_if.h"
+#endif
#define I386_BUS_SPACE_IO 0 /* space is i/o space */
#define I386_BUS_SPACE_MEM 1 /* space is mem space */
static int nexus_get_resource(device_t, device_t, int, int, u_long *, u_long *);
static void nexus_delete_resource(device_t, device_t, int, int);
+#if NPCI > 0
static int nexus_alloc_msi(device_t, device_t, int, int, int *, int);
static int nexus_release_msi(device_t, device_t, int, int *, int);
static int nexus_map_msi(device_t, device_t, int, uint64_t *, uint32_t *, int);
static int nexus_alloc_msix(device_t, device_t, int *, int);
static int nexus_release_msix(device_t, device_t, int, int);
+#endif
/*
* The device_identify method will cause nexus to automatically associate
DEVMETHOD(bus_get_resource, nexus_get_resource),
DEVMETHOD(bus_delete_resource, nexus_delete_resource),
+#if NPCI > 0
DEVMETHOD(pcib_alloc_msi, nexus_alloc_msi),
DEVMETHOD(pcib_release_msi, nexus_release_msi),
DEVMETHOD(pcib_map_msi, nexus_map_msi),
DEVMETHOD(pcib_alloc_msix, nexus_alloc_msix),
DEVMETHOD(pcib_release_msix, nexus_release_msix),
+#endif
{ 0, 0 }
};
resource_list_delete(rl, type, rid);
}
+#if NPCI > 0
static int
nexus_alloc_msi(device_t dev, device_t child, int count, int maxcount,
int *irqs, int cpuid)
MachIntrABI.msix_release(irq, cpuid);
return 0;
}
+#endif