summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/errfile.h
diff options
context:
space:
mode:
authorStefan Hajnoczi2010-07-02 20:15:47 +0200
committerMichael Brown2010-07-17 18:07:14 +0200
commite4419ff97cdc6cf69c251ef1f768274f0a71c9d0 (patch)
treed079c3c2255de618df612a7c6841a3c3ae81e80f /src/include/ipxe/errfile.h
parent[errcode] Remove unused contrib/errcode scripts (diff)
downloadipxe-e4419ff97cdc6cf69c251ef1f768274f0a71c9d0.tar.gz
ipxe-e4419ff97cdc6cf69c251ef1f768274f0a71c9d0.tar.xz
ipxe-e4419ff97cdc6cf69c251ef1f768274f0a71c9d0.zip
[virtio] Replace virtio-net with native iPXE driver
This patch adds a native iPXE virtio-net driver and removes the legacy Etherboot virtio-net driver. The main reasons for doing this are: 1. Multiple virtio-net NICs are now supported by iPXE. The legacy driver kept global state and caused issues in virtual machines with more than one virtio-net device. 2. Faster downloads. The native iPXE driver downloads 100 MB over HTTP in 12s, the legacy Etherboot driver in 37s. This simple benchmark uses KVM with tap networking and the Python SimpleHTTPServer both running on the same host. Changes to core virtio code reduce vring descriptors to 256 (QEMU uses 128 for virtio-blk and 256 for virtio-net) and change the opaque token from u16 to void*. Lowering the descriptor count reduces memory consumption. The void* opaque token change makes driver code simpler. Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/errfile.h')
-rw-r--r--src/include/ipxe/errfile.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h
index 861fee24..ec070339 100644
--- a/src/include/ipxe/errfile.h
+++ b/src/include/ipxe/errfile.h
@@ -126,6 +126,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#define ERRFILE_snpnet ( ERRFILE_DRIVER | 0x00590000 )
#define ERRFILE_snponly ( ERRFILE_DRIVER | 0x005a0000 )
#define ERRFILE_jme ( ERRFILE_DRIVER | 0x005b0000 )
+#define ERRFILE_virtio_net ( ERRFILE_DRIVER | 0x005c0000 )
#define ERRFILE_scsi ( ERRFILE_DRIVER | 0x00700000 )
#define ERRFILE_arbel ( ERRFILE_DRIVER | 0x00710000 )