All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
To: laurent@vivier.eu, qemu-devel@nongnu.org
Subject: [PATCH v3 13/23] hw/net/dp8393x.c: move TYPE_DP8393X and dp8393xState into dp8393x.h
Date: Sun,  4 Jun 2023 14:14:40 +0100	[thread overview]
Message-ID: <20230604131450.428797-14-mark.cave-ayland@ilande.co.uk> (raw)
In-Reply-To: <20230604131450.428797-1-mark.cave-ayland@ilande.co.uk>

This is to enable them to be used outside of dp8393x.c.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
CC: Jason Wang <jasowang@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
---
 hw/net/dp8393x.c         | 32 +--------------------
 include/hw/net/dp8393x.h | 60 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 31 deletions(-)
 create mode 100644 include/hw/net/dp8393x.h

diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c
index 45b954e46c..a596f7fbc6 100644
--- a/hw/net/dp8393x.c
+++ b/hw/net/dp8393x.c
@@ -20,6 +20,7 @@
 #include "qemu/osdep.h"
 #include "hw/irq.h"
 #include "hw/qdev-properties.h"
+#include "hw/net/dp8393x.h"
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
 #include "net/net.h"
@@ -85,7 +86,6 @@ static const char *reg_names[] = {
 #define SONIC_MPT    0x2e
 #define SONIC_MDT    0x2f
 #define SONIC_DCR2   0x3f
-#define SONIC_REG_COUNT  0x40
 
 #define SONIC_CR_HTX     0x0001
 #define SONIC_CR_TXP     0x0002
@@ -139,36 +139,6 @@ static const char *reg_names[] = {
 #define SONIC_DESC_EOL   0x0001
 #define SONIC_DESC_ADDR  0xFFFE
 
-#define TYPE_DP8393X "dp8393x"
-OBJECT_DECLARE_SIMPLE_TYPE(dp8393xState, DP8393X)
-
-struct dp8393xState {
-    SysBusDevice parent_obj;
-
-    /* Hardware */
-    uint8_t it_shift;
-    bool big_endian;
-    bool last_rba_is_full;
-    qemu_irq irq;
-    int irq_level;
-    QEMUTimer *watchdog;
-    int64_t wt_last_update;
-    NICConf conf;
-    NICState *nic;
-    MemoryRegion mmio;
-
-    /* Registers */
-    uint16_t cam[16][3];
-    uint16_t regs[SONIC_REG_COUNT];
-
-    /* Temporaries */
-    uint8_t tx_buffer[0x10000];
-    int loopback_packet;
-
-    /* Memory access */
-    MemoryRegion *dma_mr;
-    AddressSpace as;
-};
 
 /*
  * Accessor functions for values which are formed by
diff --git a/include/hw/net/dp8393x.h b/include/hw/net/dp8393x.h
new file mode 100644
index 0000000000..4a3f7478be
--- /dev/null
+++ b/include/hw/net/dp8393x.h
@@ -0,0 +1,60 @@
+/*
+ * QEMU NS SONIC DP8393x netcard
+ *
+ * Copyright (c) 2008-2009 Herve Poussineau
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef HW_NET_DP8393X_H
+#define HW_NET_DP8393X_H
+
+#include "hw/sysbus.h"
+#include "net/net.h"
+#include "exec/memory.h"
+
+#define SONIC_REG_COUNT  0x40
+
+#define TYPE_DP8393X "dp8393x"
+OBJECT_DECLARE_SIMPLE_TYPE(dp8393xState, DP8393X)
+
+struct dp8393xState {
+    SysBusDevice parent_obj;
+
+    /* Hardware */
+    uint8_t it_shift;
+    bool big_endian;
+    bool last_rba_is_full;
+    qemu_irq irq;
+    int irq_level;
+    QEMUTimer *watchdog;
+    int64_t wt_last_update;
+    NICConf conf;
+    NICState *nic;
+    MemoryRegion mmio;
+
+    /* Registers */
+    uint16_t cam[16][3];
+    uint16_t regs[SONIC_REG_COUNT];
+
+    /* Temporaries */
+    uint8_t tx_buffer[0x10000];
+    int loopback_packet;
+
+    /* Memory access */
+    MemoryRegion *dma_mr;
+    AddressSpace as;
+};
+
+#endif
-- 
2.30.2



  parent reply	other threads:[~2023-06-04 13:16 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-04 13:14 [PATCH v3 00/23] q800: add support for booting MacOS Classic - part 1 Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 01/23] q800: fix up minor spacing issues in hw_compat_q800 GlobalProperty array Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 02/23] q800: add missing space after parent object in GLUEState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 03/23] q800: introduce Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 04/23] q800: rename q800_init() to q800_machine_init() Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 05/23] q800: move CPU object into Q800MachineState Mark Cave-Ayland
2023-06-04 16:16   ` Laurent Vivier
2023-06-05 12:33   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 06/23] q800: move ROM memory region to Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 07/23] q800: move GLUE device into separate q800-glue.c file Mark Cave-Ayland
2023-06-05 12:41   ` Philippe Mathieu-Daudé
2023-06-19 12:26     ` Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 08/23] q800: move GLUE device to Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 09/23] q800: introduce mac-io container memory region Mark Cave-Ayland
2023-06-05 12:49   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 10/23] q800: reimplement mac-io region aliasing using IO " Mark Cave-Ayland
2023-06-05 12:43   ` Philippe Mathieu-Daudé
2023-06-06  6:33     ` Mark Cave-Ayland
2023-06-06 12:40       ` Philippe Mathieu-Daudé
2023-06-05 12:48   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 11/23] q800: move VIA1 device to Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 12/23] q800: move VIA2 " Mark Cave-Ayland
2023-06-04 13:14 ` Mark Cave-Ayland [this message]
2023-06-04 16:17   ` [PATCH v3 13/23] hw/net/dp8393x.c: move TYPE_DP8393X and dp8393xState into dp8393x.h Laurent Vivier
2023-06-05  0:36     ` Jason Wang
2023-06-05 12:44   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 14/23] q800: move dp8393x device to Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 15/23] q800: move ESCC " Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 16/23] q800: move escc_orgate " Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 17/23] q800: move ESP " Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 18/23] q800: move SWIM " Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 19/23] q800: move mac-nubus-bridge " Mark Cave-Ayland
2023-06-04 16:29   ` Laurent Vivier
2023-06-05  5:43     ` Mark Cave-Ayland
2023-06-05 12:47   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 20/23] q800: don't access Nubus bus directly from the mac-nubus-bridge device Mark Cave-Ayland
2023-06-05 12:46   ` Philippe Mathieu-Daudé
2023-06-04 13:14 ` [PATCH v3 21/23] q800: move macfb device to Q800MachineState Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 22/23] mac_via: fix rtc command decoding from PRAM addresses 0x0 to 0xf Mark Cave-Ayland
2023-06-04 13:14 ` [PATCH v3 23/23] mac_via: fix rtc command decoding for the PRAM seconds registers Mark Cave-Ayland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230604131450.428797-14-mark.cave-ayland@ilande.co.uk \
    --to=mark.cave-ayland@ilande.co.uk \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.