qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

lance: move TYPE_LANCE and SysBusPCNetState from lance.c to lance.h

This enables them to be used outside of lance.c. We also update the comment to
refer to the SPARC32 lance device rather than the AMD PCNet-II device (of which
lance is a register-compatible subset).

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
CC: Jason Wang <jasowang@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

+46 -10
+1 -10
hw/net/lance.c
··· 41 41 #include "qemu/timer.h" 42 42 #include "qemu/sockets.h" 43 43 #include "hw/sparc/sun4m.h" 44 - #include "pcnet.h" 44 + #include "hw/net/lance.h" 45 45 #include "trace.h" 46 46 #include "sysemu/sysemu.h" 47 47 48 - #define TYPE_LANCE "lance" 49 - #define SYSBUS_PCNET(obj) \ 50 - OBJECT_CHECK(SysBusPCNetState, (obj), TYPE_LANCE) 51 - 52 - typedef struct { 53 - SysBusDevice parent_obj; 54 - 55 - PCNetState state; 56 - } SysBusPCNetState; 57 48 58 49 static void parent_lance_reset(void *opaque, int irq, int level) 59 50 {
+45
include/hw/net/lance.h
··· 1 + /* 2 + * QEMU Lance (Am7990) device emulation 3 + * 4 + * Copyright (c) 2004 Antony T Curtis 5 + * Copyright (c) 2017 Mark Cave-Ayland 6 + * 7 + * This represents the Sparc32 lance (Am7990) ethernet device which is an 8 + * earlier register-compatible member of the AMD PC-Net II (Am79C970A) family. 9 + * 10 + * Permission is hereby granted, free of charge, to any person obtaining a copy 11 + * of this software and associated documentation files (the "Software"), to deal 12 + * in the Software without restriction, including without limitation the rights 13 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 14 + * copies of the Software, and to permit persons to whom the Software is 15 + * furnished to do so, subject to the following conditions: 16 + * 17 + * The above copyright notice and this permission notice shall be included in 18 + * all copies or substantial portions of the Software. 19 + * 20 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 21 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 22 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 23 + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 24 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 25 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 26 + * THE SOFTWARE. 27 + */ 28 + 29 + #ifndef LANCE_H 30 + #define LANCE_H 31 + 32 + #include "net/net.h" 33 + #include "hw/net/pcnet.h" 34 + 35 + #define TYPE_LANCE "lance" 36 + #define SYSBUS_PCNET(obj) \ 37 + OBJECT_CHECK(SysBusPCNetState, (obj), TYPE_LANCE) 38 + 39 + typedef struct { 40 + SysBusDevice parent_obj; 41 + 42 + PCNetState state; 43 + } SysBusPCNetState; 44 + 45 + #endif