/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * IBM Power Virtual Ethernet Device Driver * * Copyright (C) IBM Corporation, 2003, 2010 * * Authors: Dave Larson <larson1@us.ibm.com> * Santiago Leon <santil@linux.vnet.ibm.com> * Brian King <brking@linux.vnet.ibm.com> * Robert Jennings <rcj@linux.vnet.ibm.com> * Anton Blanchard <anton@au.ibm.com>
*/
/* FW allows us to send 6 descriptors but we only use one so mark * the other 5 as unused (0)
*/ staticinlinelong h_send_logical_lan(unsignedlong unit_address, unsignedlong desc, unsignedlong corellator_in, unsignedlong *corellator_out, unsignedlong mss, unsignedlong large_send_support)
{ long rc; unsignedlong retbuf[PLPAR_HCALL9_BUFSIZE];
/* * We pass struct ibmveth_buf_desc_fields to the hypervisor in registers, * so we don't need to byteswap the two elements. However since we use * a union (ibmveth_buf_desc) to convert from the struct to a u64 we * do end up with endian specific ordering of the elements and that * needs correcting.
*/ struct ibmveth_buf_desc_fields { #ifdef __BIG_ENDIAN
u32 flags_len;
u32 address; #else
u32 address;
u32 flags_len; #endif #define IBMVETH_BUF_VALID 0x80000000 #define IBMVETH_BUF_TOGGLE 0x40000000 #define IBMVETH_BUF_LRG_SND 0x04000000 #define IBMVETH_BUF_NO_CSUM 0x02000000 #define IBMVETH_BUF_CSUM_GOOD 0x01000000 #define IBMVETH_BUF_LEN_MASK 0x00FFFFFF
};
union ibmveth_buf_desc {
u64 desc; struct ibmveth_buf_desc_fields fields;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.