54 .
profile =
"Harvest test profile",
83 .
profile =
"Update test profile",
93 .mac_a = { 0x02, 0x00, 0x69, 0x50, 0x58, 0x45 },
111 printf (
"BOFMTEST performing harvest\n" );
115 printf (
"BOFMTEST harvest result %08x\n", bofmrc );
117 printf (
"BOFMTEST harvested MAC address %s\n",
120 printf (
"BOFMTEST failed to harvest a MAC address\n" );
125 printf (
"BOFMTEST performing update\n" );
129 printf (
"BOFMTEST update result %08x\n", bofmrc );
131 printf (
"BOFMTEST updated MAC address to %s\n",
134 printf (
"BOFMTEST failed to update MAC address\n" );
159 memset ( &pci, 0,
sizeof ( pci ) );
162 printf (
"BOFMTEST could not create " PCI_FMT " device: %s\n",
struct arbelprm_rc_send_wqe rc
int printf(const char *fmt,...)
Write a formatted string to the console.
void bofm_test(struct pci_device *pci)
Perform BOFM test.
#define BOFM_EN_EN_A
MAC address A is present.
#define BOFM_EN_USAGE_HARVEST
Ignore values - it's harvest time.
#define BOFM_EN_MAGIC
EN start marker.
static void bofm_test_init(void)
Perform BOFM test at initialisation time.
Access to external ("user") memory.
#define BOFM_ACTION_UPDT
Update MAC/WWN.
uint16_t busdevfn
PCI bus:dev.fn address.
#define INIT_NORMAL
Normal initialisation.
IBM BladeCenter Open Fabric Manager (BOFM)
An initialisation function.
#define BOFM_EN_MAP_PFA
Port mapping is by PCI bus:dev.fn.
#define BOFM_IOAA_MAGIC
BOFM table header signature.
#define BOFM_DONE_MAGIC
End marker.
char * strerror(int errno)
Retrieve string representation of error number.
#define PCI_FMT
PCI device debug message format.
static struct @431 bofmtab_update
Update test table.
const char * eth_ntoa(const void *ll_addr)
Transcribe Ethernet address.
#define BOFM_EN_HVST
Harvest complete.
int pci_read_config(struct pci_device *pci)
Read PCI device configuration.
struct bofm_global_header header
#define BOFM_EN_USAGE_ENTRY
Use entry values for assignment.
uint32_t busdevfn
Segment, bus, device, and function (bus:dev.fn) number.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
struct init_fn bofm_test_init_fn __init_fn(INIT_NORMAL)
BOFM test initialisation function.
int bofm(userptr_t bofmtab, struct pci_device *pci)
Process BOFM table.
BOFM Ethernet parameter entry.
struct bofm_section_header en_header
#define PCI_ARGS(pci)
PCI device debug message arguments.
userptr_t virt_to_user(volatile const void *addr)
Convert virtual address to user pointer.
static struct @430 bofmtab_harvest
Harvest test table.
#define BOFM_EN_RQ_HVST_ACTIVE
Harvest active values.
#define BOFM_EN_CSM_SUCCESS
Entry has been used successfully.
static void pci_init(struct pci_device *pci, unsigned int busdevfn)
Initialise PCI device.
#define BOFM_ACTION_HVST
Harvest MAC/WWN.
struct bofm_section_header done
void * memset(void *dest, int character, size_t len) __nonnull