summaryrefslogtreecommitdiff
path: root/emulators/tme/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/tme/patches/patch-ab')
-rw-r--r--emulators/tme/patches/patch-ab28
1 files changed, 28 insertions, 0 deletions
diff --git a/emulators/tme/patches/patch-ab b/emulators/tme/patches/patch-ab
new file mode 100644
index 00000000000..67e58c2a15d
--- /dev/null
+++ b/emulators/tme/patches/patch-ab
@@ -0,0 +1,28 @@
+$NetBSD: patch-ab,v 1.3 2007/03/17 13:44:18 tsutsui Exp $
+
+--- ic/i825x6.c.orig 2007-01-24 12:56:18.000000000 +0000
++++ ic/i825x6.c
+@@ -122,11 +122,19 @@ do { \
+ /* an rx buffer: */
+ struct tme_i825x6_rx_buffer {
+
+- /* the generic ethernet frame chunk. this must be first, since we
+- abuse its tme_ethernet_frame_chunk_next for our own next pointer: */
+- struct tme_ethernet_frame_chunk tme_i825x6_rx_buffer_frame_chunk;
++ union {
++ struct tme_i825x6_rx_buffer *rx_buffer_next;
++
++ /* the generic ethernet frame chunk. this must be first, since we
++ abuse its tme_ethernet_frame_chunk_next for our own next pointer: */
++ struct tme_ethernet_frame_chunk buffer_frame_chunk;
++ } rx_un;
++
++#define tme_i825x6_rx_buffer_next rx_un.rx_buffer_next
++#define tme_i825x6_rx_buffer_frame_chunk rx_un.buffer_frame_chunk
++
+ #define TME_I825X6_RX_BUFFER_NEXT(rx_buffer) \
+- (*((struct tme_i825x6_rx_buffer **) &(rx_buffer)->tme_i825x6_rx_buffer_frame_chunk.tme_ethernet_frame_chunk_next))
++ (rx_buffer->tme_i825x6_rx_buffer_next)
+
+ /* when this is TME_I825X6_RU_ADDRESS_UNDEF, this rx buffer was made
+ from a fast-write TLB entry, and the generic ethernet frame chunk