[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/5] slirp updates
From: |
Mark Pizzolato |
Subject: |
[Qemu-devel] [PATCH 0/5] slirp updates |
Date: |
Wed, 21 Oct 2015 16:15:10 -0700 |
I am the maintainer of the simh project (https://github.com/simh/simh
and http://simh.trailing-edge.com).
simh is a simulator framework. There currently are simulators for
many legacy systems:
Digital Equipment Corporation
PDP-1, PDP-4, PDP-7, PDP-8, PDP-9, PDP-10, PDP-11,
VAX 11/780, VAX 11/750, VAX 11/730, MicroVAX 3900,
MicroVAX II, VAXStation II, MicroVAX I, VAXStation I
GRI Corporation
GRI-909, CRI-99
Data General
Nova, Eclipse
IBM
1401, 1620, 1130, 7090/7094, System 3
Interdata (Perkin-Elmer)
16 bit and 32 bit systems
Hewlett Packard
2114, 2115, 2116, 2100, 21MX, 1000
Honeywell
H316/H516
MITS Altair
8800 with both 8080 and Z80
Southwest Technical Products Corp
6800, 6809
Soviet Era Mainframe
BESM-6
Lincoln Labs
TX-0
Manchester University
Small Scale Experimental Machine
The PDP-11 and all the VAX computers have Ethernet devices.
qemu has become the home of what SLiRP has evolved into for modern
simulator systems.
For many years LAN connected Ethernet has met the needs of the
simulator user community due to the various proprietary LAN protocols
which the PDP-11 and VAX systems used. TCP/IP, of course, also work
on a LAN so the libpcap network transport model worked there as well.
Recent user demand for more flexible TCP/IP connectivity has inspired
the addition of a NAT network transport which SLiRP meets nicely.
I was able to do this by taking the contents of qemu/slirp directory
verbatim and using it unmodified.
This worked when the simh simulators are built using gcc on Linux,
OS X and other Unix platforms. There were some issues I discovered
when building on Windows with MinGW (also gcc).
The simh project supports building all the simulators on Windows using
Microsoft Visual Studio (2008, 2010, 2012, 2013 and 2015). In order
to build the qemu/slirp code with the Microsoft compilers several
minor changes to the code in the slirp directory were necessary.
Once a basic build was successful using Visual Studio, additional
changes were also made to:
1) enable slirp debugging and have it integrate with the debugging
support already provided by simh
and 2) conform to the simh project build requirements that all builds
be without any compiler warnings.
The source code qemu/slirp directory is 'upstream' of the slirp code in
the simh project. Given that, I'm trying to feed the changes I had to
make back upstream so the issues I've found can be fixed for the
community at large, and any future updates to the qemu slirp code can
easily be dropped into the simh slirp code.
Mark Pizzolato (5):
slirp: closesocket must be called to close sockets on windows
slirp: Changes needed to build with a pre C99 C compiler
slirp: change tftp to use stdio APIs vs open/read/close
slirp: Generalized debug macros to also support simh debugging
slirp: Fix signed/unsigned comparison and variable truncation warnings
slirp/arp_table.c | 8 ++++----
slirp/bootp.c | 9 +--------
slirp/cksum.c | 4 ++--
slirp/debug.h | 57 +++++++++++++++++++++++++++++++++++++---------------
slirp/dnssearch.c | 6 +++---
slirp/ip.h | 39 +++++++++++++++++++++++++++--------
slirp/ip_icmp.c | 18 ++++++++---------
slirp/mbuf.c | 2 +-
slirp/misc.c | 30 ++++++++++++++++-----------
slirp/sbuf.c | 6 +++---
slirp/slirp.c | 39 ++++++++++++++++-------------------
slirp/slirp.h | 8 ++++++--
slirp/slirp_config.h | 2 ++
slirp/socket.c | 39 +++++++++++++++++------------------
slirp/socket.h | 2 +-
slirp/tcp.h | 2 +-
slirp/tcp_input.c | 20 +++++++++---------
slirp/tcp_output.c | 14 ++++++-------
slirp/tcp_subr.c | 6 +++---
slirp/tftp.c | 18 ++++++++---------
slirp/tftp.h | 2 +-
slirp/udp.c | 6 +++---
22 files changed, 193 insertions(+), 144 deletions(-)
--
1.9.5.msysgit.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH 0/5] slirp updates,
Mark Pizzolato <=