diff --git a/bochs/.bochsrc b/bochs/.bochsrc
index b530b4870..1fcd94f3c 100644
--- a/bochs/.bochsrc
+++ b/bochs/.bochsrc
@@ -829,11 +829,11 @@ private_colormap: enabled=0
# this script to configure this network interface, or enable masquerading.
# This is mainly useful for the tun/tap devices that only exist during
# Bochs execution. The network interface name is supplied to the script
-# as first parameter
+# as first parameter.
#
# BOOTROM: The bootrom value is optional, and is the name of the ROM image
# to load. Note that this feature is only implemented for the PCI version of
-# the NE2000 and it requires SeaBIOS to boot the specified ROM.
+# the NE2000.
#
# If you don't want to make connections to any physical networks,
# you can use the following 'ethmod's to simulate a virtual network.
@@ -842,7 +842,7 @@ private_colormap: enabled=0
# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated.
# The virtual host uses 192.168.10.1.
# DHCP assigns 192.168.10.2 to the guest.
-# TFTP uses the ethdev value for the root directory and doesn't
+# TFTP uses the 'ethdev' value for the root directory and doesn't
# overwrite files.
#
#=======================================================================
@@ -881,7 +881,7 @@ private_colormap: enabled=0
# and supports the same networking modules as the NE2000 adapter. In addition
# to this, it must be assigned to a PCI slot.
#=======================================================================
-#e1000: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
+#e1000: enabled=1, mac=52:54:00:12:34:56, ethmod=slirp, script=/usr/local/bin/slirp
#=======================================================================
# KEYBOARD_MAPPING:
@@ -926,7 +926,7 @@ keyboard_mapping: enabled=0, map=
# This option controls the presence of a PCI chipset in Bochs. Currently it only
# supports the i440FX chipset. You can also specify the devices connected to
# PCI slots. Up to 5 slots are available. These devices are currently supported:
-# cirrus, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
+# cirrus, e1000, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
#
# Example:
# pci: enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k
diff --git a/bochs/PARAM_TREE.txt b/bochs/PARAM_TREE.txt
index 582b98690..d232a36c0 100644
--- a/bochs/PARAM_TREE.txt
+++ b/bochs/PARAM_TREE.txt
@@ -230,12 +230,22 @@ network
ethmod
ethdev
script
+ bootrom
pnic
enabled
macaddr
ethmod
ethdev
script
+ bootrom
+
+ e1000
+ enabled
+ macaddr
+ ethmod
+ ethdev
+ script
+ bootrom
sound
sb16
@@ -247,6 +257,9 @@ sound
wavemode
loglevel
dmatimer
+ es1370
+ enabled
+ wavedev
misc
port_e9_hack
@@ -280,5 +293,3 @@ wxdebug
user
(subtree for user-defined options)
-
-(updated July 31, 2011 by vruppert)
diff --git a/bochs/build/win32/vs2008ex-plugins-workspace.zip b/bochs/build/win32/vs2008ex-plugins-workspace.zip
index 83bc799d3..7b69367cc 100644
Binary files a/bochs/build/win32/vs2008ex-plugins-workspace.zip and b/bochs/build/win32/vs2008ex-plugins-workspace.zip differ
diff --git a/bochs/build/win32/vs2008ex-workspace.zip b/bochs/build/win32/vs2008ex-workspace.zip
index ac66d3a49..7a3b7274f 100644
Binary files a/bochs/build/win32/vs2008ex-workspace.zip and b/bochs/build/win32/vs2008ex-workspace.zip differ
diff --git a/bochs/doc/docbook/user/user.dbk b/bochs/doc/docbook/user/user.dbk
index 272b9a3c5..03820f195 100644
--- a/bochs/doc/docbook/user/user.dbk
+++ b/bochs/doc/docbook/user/user.dbk
@@ -2133,6 +2133,11 @@ turn it off.
no
Enable PCI pseudo NIC (network card) support.
+
+ --enable-e1000
+ no
+ Enable Intel(R) 82540EM Gigabit Ethernet adapter support.
+
--enable-clgd54xx
no
@@ -3980,7 +3985,7 @@ Examples:
This option controls the presence of a PCI chipset in Bochs. Currently it only
supports the i440FX chipset. You can also specify the devices connected to
PCI slots. Up to 5 slots are available. These devices are currently supported:
-cirrus, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
+cirrus, e1000, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
@@ -4110,35 +4115,39 @@ ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.c
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
-ne2k: mac=fe:fd:00:00:00:01, ethmod=slirp, script=/usr/local/bin/slirp
+ne2k: mac=fe:fd:00:00:00:01, ethmod=slirp, script=/usr/local/bin/slirp, bootrom=ne2k_pci.rom
-ioaddr, irq: You probably won't need to change ioaddr and irq, unless there
+IOADDR, IRQ: You probably won't need to change ioaddr and irq, unless there
are IRQ conflicts. These parameters are ignored if the NE2000 is assigned to
a PCI slot.
-mac: The MAC address MUST NOT match the address of any machine on the net.
+MAC: The MAC address MUST NOT match the address of any machine on the net.
Also, the first byte must be an even number (bit 0 set means a multicast
address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
address. For the ethertap module, you must use fe:fd:00:00:00:01. There may
be other restrictions too. To be safe, just use the b0:c4... address.
-ethmod: The ethmod value defines which low level OS specific module to be
+ETHMOD: The ethmod value defines which low level OS specific module to be
used to access physical ethernet interface. You can also specify a network
simulator or a module with no input/output ("null"). See the table below for
currently supported values.
-ethdev: The ethdev value is the name of the network interface on your host
+ETHDEV: The ethdev value is the name of the network interface on your host
platform. On UNIX machines, you can get the name by running ifconfig. On
Windows machines, you must run niclist to get the name of the ethdev.
Niclist source code is in misc/niclist.c and it is included in Windows
binary releases.
-script: The script value is optional, and is the name of a script that
+SCRIPT: The script value is optional, and is the name of a script that
is executed after bochs initialize the network interface. You can use
this script to configure this network interface, or enable masquerading.
This is mainly useful for the tun/tap devices that only exist during
Bochs execution. The network interface name is supplied to the script
-as first parameter
+as first parameter.
+
+BOOTROM: The bootrom value is optional, and is the name of the ROM image
+to load. Note that this feature is only implemented for the PCI version of
+the NE2000.
@@ -4214,7 +4223,7 @@ version where this module was added.
vnet
ARP, ping (ICMP-echo), DHCP and read/write TFTP simulation. The virtual
host uses 192.168.10.1. DHCP assigns 192.168.10.2 to the guest. The TFTP server
- uses the ethdev value for the root directory and doesn't overwrite files.
+ uses the 'ethdev' value for the root directory and doesn't overwrite files.
Yes, for TFTP
No
@@ -4252,7 +4261,20 @@ Example:
To support the Bochs/Etherboot pseudo-NIC, Bochs must be compiled with the
--enable-pnic configure option. It accepts the same syntax (for mac, ethmod,
-ethdev, script) and supports the same networking modules as the NE2000 adapter.
+ethdev, script, bootrom) and supports the same networking modules as the NE2000 adapter.
+In addition to this, it must be assigned to a PCI slot.
+
+
+
+e1000
+
+Example:
+
+ e1000: enabled=1, mac=52:54:00:12:34:56, ethmod=slirp, script=/usr/local/bin/slirp
+
+To support the Intel(R) 82540EM Gigabit Ethernet adapter, Bochs must be compiled
+with the --enable-e1000 configure option. It accepts the same syntax (for mac, ethmod,
+ethdev, script, bootrom) and supports the same networking modules as the NE2000 adapter.
In addition to this, it must be assigned to a PCI slot.
diff --git a/bochs/doc/man/bochsrc.5 b/bochs/doc/man/bochsrc.5
index b2a570d84..e5c208a67 100644
--- a/bochs/doc/man/bochsrc.5
+++ b/bochs/doc/man/bochsrc.5
@@ -1,5 +1,5 @@
.\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com"
-.TH bochsrc 5 "27 Nov 2011" "bochsrc" "The Bochs Project"
+.TH bochsrc 5 "24 Dec 2011" "bochsrc" "The Bochs Project"
.\"SKIP_SECTION"
.SH NAME
bochsrc \- Configuration file for Bochs.
@@ -869,7 +869,7 @@ Example:
This option controls the presence of a PCI chipset in Bochs. Currently it only
supports the i440FX chipset. You can also specify the devices connected to
PCI slots. Up to 5 slots are available. These devices are currently supported:
-cirrus, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
+cirrus, e1000, es1370, ne2k, pcivga, pcidev, pcipnic, usb_ohci and usb_xhci.
Example:
pci: enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k
@@ -894,22 +894,23 @@ Defines the characteristics of an attached ne2000 isa card :
mac=MACADDR,
ethmod=MODULE,
ethdev=DEVICE,
- script=SCRIPT
+ script=SCRIPT,
+ bootrom=BOOTROM
.B PROPERTIES FOR ne2k:
-ioaddr, irq:
+IOADDR, IRQ:
You probably won't need to change ioaddr and irq, unless there are IRQ conflicts.
These parameters are ignored if the NE2000 is assigned to a PCI slot.
-mac:
+MAC:
The MAC address MUST NOT match the address of any machine on the net.
Also, the first byte must be an even number (bit 0 set means a multicast
address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
address. For the ethertap module, you must use fe:fd:00:00:00:01. There may
be other restrictions too. To be safe, just use the b0:c4... address.
-ethmod:
+ETHMOD:
The ethmod value defines which low level OS specific module to be used
to access physical ethernet interface. Current implemented values include
- fbsd : ethernet on freebsd and openbsd
@@ -926,23 +927,28 @@ you can use the following 'ethmod's to simulate a virtual network.
- vnet : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
The virtual host uses 192.168.10.1
DHCP assigns 192.168.10.2 to the guest
- The TFTP server use ethdev for the root directory and doesn't
+ The TFTP server use 'ethdev' for the root directory and doesn't
overwrite files
-ethdev:
+ETHDEV:
The ethdev value is the name of the network interface on your host
-platform. On UNIX machines, you can get the name by running ifconfig. On
+platform. On UNIX machines, you can get the name by running ifconfig. On
Windows machines, you must run niclist to get the name of the ethdev.
Niclist source code is in misc/niclist.c and it is included in Windows
binary releases.
-script:
+SCRIPT:
The script value is optional, and is the name of a script that
is executed after bochs initialize the network interface. You can use
this script to configure this network interface, or enable masquerading.
This is mainly useful for the tun/tap devices that only exist during
Bochs execution. The network interface name is supplied to the script
-as first parameter
+as first parameter.
+
+BOOTROM:
+The bootrom value is optional, and is the name of the ROM image
+to load. Note that this feature is only implemented for the PCI version of
+the NE2000.
Examples:
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xlo
@@ -952,17 +958,28 @@ Examples:
ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
+ ne2k: mac=b0:c4:20:00:00:01, ethmod=slirp, script=/usr/local/bin/slirp, bootrom=ne2k_pci.rom
.TP
.I "pnic:"
To support the Bochs/Etherboot pseudo-NIC, Bochs must be compiled with the
--enable-pnic configure option. It accepts the same syntax (for mac, ethmod,
-ethdev, script) and supports the same networking modules as the NE2000 adapter.
-In addition to this, it must be assigned to a PCI slot.
+ethdev, script, bootrom) and supports the same networking modules as the NE2000
+adapter. In addition to this, it must be assigned to a PCI slot.
Example:
pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
+.TP
+.I "e1000:"
+To support the Intel(R) 82540EM Gigabit Ethernet adapter, Bochs must be compiled
+with the --eanble-e1000 configure option. The E1000 accepts the same syntax
+(for mac, ethmod, ethdev, script, bootrom) and supports the same networking
+modules as the NE2000 adapter. In addition to this, it must be assigned to a PCI slot.
+
+Example:
+ e1000: enabled=1, mac=52:54:00:12:34:56, ethmod=slirp, script=/usr/local/bin/slirp
+
.TP
.I "keyboard_mapping:"
This enables a remap of a physical localized keyboard to a