cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

8390p.c (2285B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2/* 8390 core for ISA devices needing bus delays */
      3
      4static const char version[] =
      5    "8390p.c:v1.10cvs 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)\n";
      6
      7#define ei_inb(_p)	inb(_p)
      8#define ei_outb(_v, _p)	outb(_v, _p)
      9#define ei_inb_p(_p)	inb_p(_p)
     10#define ei_outb_p(_v, _p) outb_p(_v, _p)
     11
     12#include "lib8390.c"
     13
     14int eip_open(struct net_device *dev)
     15{
     16	return __ei_open(dev);
     17}
     18EXPORT_SYMBOL(eip_open);
     19
     20int eip_close(struct net_device *dev)
     21{
     22	return __ei_close(dev);
     23}
     24EXPORT_SYMBOL(eip_close);
     25
     26netdev_tx_t eip_start_xmit(struct sk_buff *skb, struct net_device *dev)
     27{
     28	return __ei_start_xmit(skb, dev);
     29}
     30EXPORT_SYMBOL(eip_start_xmit);
     31
     32struct net_device_stats *eip_get_stats(struct net_device *dev)
     33{
     34	return __ei_get_stats(dev);
     35}
     36EXPORT_SYMBOL(eip_get_stats);
     37
     38void eip_set_multicast_list(struct net_device *dev)
     39{
     40	__ei_set_multicast_list(dev);
     41}
     42EXPORT_SYMBOL(eip_set_multicast_list);
     43
     44void eip_tx_timeout(struct net_device *dev, unsigned int txqueue)
     45{
     46	__ei_tx_timeout(dev, txqueue);
     47}
     48EXPORT_SYMBOL(eip_tx_timeout);
     49
     50irqreturn_t eip_interrupt(int irq, void *dev_id)
     51{
     52	return __ei_interrupt(irq, dev_id);
     53}
     54EXPORT_SYMBOL(eip_interrupt);
     55
     56#ifdef CONFIG_NET_POLL_CONTROLLER
     57void eip_poll(struct net_device *dev)
     58{
     59	__ei_poll(dev);
     60}
     61EXPORT_SYMBOL(eip_poll);
     62#endif
     63
     64const struct net_device_ops eip_netdev_ops = {
     65	.ndo_open		= eip_open,
     66	.ndo_stop		= eip_close,
     67	.ndo_start_xmit		= eip_start_xmit,
     68	.ndo_tx_timeout		= eip_tx_timeout,
     69	.ndo_get_stats		= eip_get_stats,
     70	.ndo_set_rx_mode	= eip_set_multicast_list,
     71	.ndo_validate_addr	= eth_validate_addr,
     72	.ndo_set_mac_address 	= eth_mac_addr,
     73#ifdef CONFIG_NET_POLL_CONTROLLER
     74	.ndo_poll_controller	= eip_poll,
     75#endif
     76};
     77EXPORT_SYMBOL(eip_netdev_ops);
     78
     79struct net_device *__alloc_eip_netdev(int size)
     80{
     81	struct net_device *dev = ____alloc_ei_netdev(size);
     82	if (dev)
     83		dev->netdev_ops = &eip_netdev_ops;
     84	return dev;
     85}
     86EXPORT_SYMBOL(__alloc_eip_netdev);
     87
     88void NS8390p_init(struct net_device *dev, int startp)
     89{
     90	__NS8390_init(dev, startp);
     91}
     92EXPORT_SYMBOL(NS8390p_init);
     93
     94static int __init NS8390p_init_module(void)
     95{
     96	return 0;
     97}
     98
     99static void __exit NS8390p_cleanup_module(void)
    100{
    101}
    102
    103module_init(NS8390p_init_module);
    104module_exit(NS8390p_cleanup_module);
    105MODULE_LICENSE("GPL");