forked from Qortal/Brooklyn
* 0day explit mitigation * Memory corruption prevention * Privilege escalation prevention * Buffer over flow prevention * File System corruption defense * Thread escape prevention This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
87 lines
1.9 KiB
C
87 lines
1.9 KiB
C
/*
|
|
* MV-643XX ethernet platform device data definition file.
|
|
*/
|
|
|
|
#ifndef __LINUX_MV643XX_ETH_H
|
|
#define __LINUX_MV643XX_ETH_H
|
|
|
|
#include <linux/mbus.h>
|
|
#include <linux/if_ether.h>
|
|
|
|
#define MV643XX_ETH_SHARED_NAME "mv643xx_eth"
|
|
#define MV643XX_ETH_NAME "mv643xx_eth_port"
|
|
#define MV643XX_ETH_SHARED_REGS 0x2000
|
|
#define MV643XX_ETH_SHARED_REGS_SIZE 0x2000
|
|
#define MV643XX_ETH_BAR_4 0x2220
|
|
#define MV643XX_ETH_SIZE_REG_4 0x2224
|
|
#define MV643XX_ETH_BASE_ADDR_ENABLE_REG 0x2290
|
|
|
|
#define MV643XX_TX_CSUM_DEFAULT_LIMIT 0
|
|
|
|
struct mv643xx_eth_shared_platform_data {
|
|
struct mbus_dram_target_info *dram;
|
|
/*
|
|
* Max packet size for Tx IP/Layer 4 checksum, when set to 0, default
|
|
* limit of 9KiB will be used.
|
|
*/
|
|
int tx_csum_limit;
|
|
};
|
|
|
|
#define MV643XX_ETH_PHY_ADDR_DEFAULT 0
|
|
#define MV643XX_ETH_PHY_ADDR(x) (0x80 | (x))
|
|
#define MV643XX_ETH_PHY_NONE 0xff
|
|
|
|
struct device_node;
|
|
struct mv643xx_eth_platform_data {
|
|
/*
|
|
* Pointer back to our parent instance, and our port number.
|
|
*/
|
|
struct platform_device *shared;
|
|
int port_number;
|
|
|
|
/*
|
|
* Whether a PHY is present, and if yes, at which address.
|
|
*/
|
|
int phy_addr;
|
|
struct device_node *phy_node;
|
|
|
|
/*
|
|
* Use this MAC address if it is valid, overriding the
|
|
* address that is already in the hardware.
|
|
*/
|
|
u8 mac_addr[ETH_ALEN];
|
|
|
|
/*
|
|
* If speed is 0, autonegotiation is enabled.
|
|
* Valid values for speed: 0, SPEED_10, SPEED_100, SPEED_1000.
|
|
* Valid values for duplex: DUPLEX_HALF, DUPLEX_FULL.
|
|
*/
|
|
int speed;
|
|
int duplex;
|
|
|
|
/*
|
|
* How many RX/TX queues to use.
|
|
*/
|
|
int rx_queue_count;
|
|
int tx_queue_count;
|
|
|
|
/*
|
|
* Override default RX/TX queue sizes if nonzero.
|
|
*/
|
|
int rx_queue_size;
|
|
int tx_queue_size;
|
|
|
|
/*
|
|
* Use on-chip SRAM for RX/TX descriptors if size is nonzero
|
|
* and sufficient to contain all descriptors for the requested
|
|
* ring sizes.
|
|
*/
|
|
unsigned long rx_sram_addr;
|
|
int rx_sram_size;
|
|
unsigned long tx_sram_addr;
|
|
int tx_sram_size;
|
|
};
|
|
|
|
|
|
#endif
|