qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]