mirror of https://gitee.com/openkylin/qemu.git
Add CDC-Ethernet usb NIC (original patch from Thomas Sailer).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4884 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
e6bf7d70b5
commit
6c9f886cea
3
Makefile
3
Makefile
|
@ -60,7 +60,8 @@ OBJS+=ssd0303.o ssd0323.o ads7846.o stellaris_input.o twl92230.o
|
|||
OBJS+=tmp105.o lm832x.o
|
||||
OBJS+=scsi-disk.o cdrom.o
|
||||
OBJS+=scsi-generic.o
|
||||
OBJS+=usb.o usb-hub.o usb-linux.o usb-hid.o usb-msd.o usb-wacom.o usb-serial.o
|
||||
OBJS+=usb.o usb-hub.o usb-linux.o usb-hid.o usb-msd.o usb-wacom.o
|
||||
OBJS+=usb-serial.o usb-net.o
|
||||
OBJS+=sd.o ssi-sd.o
|
||||
|
||||
ifdef CONFIG_BRLAPI
|
||||
|
|
File diff suppressed because it is too large
Load Diff
3
hw/usb.h
3
hw/usb.h
|
@ -219,6 +219,9 @@ USBDevice *usb_keyboard_init(void);
|
|||
/* usb-msd.c */
|
||||
USBDevice *usb_msd_init(const char *filename);
|
||||
|
||||
/* usb-net.c */
|
||||
USBDevice *usb_net_init(NICInfo *nd);
|
||||
|
||||
/* usb-wacom.c */
|
||||
USBDevice *usb_wacom_init(void);
|
||||
|
||||
|
|
|
@ -567,6 +567,9 @@ available devices.
|
|||
Braille device. This will use BrlAPI to display the braille output on a real
|
||||
or fake device.
|
||||
|
||||
@item net:nic_num
|
||||
Network adapter that supports CDC ethernet and RNDIS protocols.
|
||||
|
||||
@end table
|
||||
|
||||
@end table
|
||||
|
@ -584,7 +587,7 @@ Qemu can emulate several different models of network card.
|
|||
Valid values for @var{type} are
|
||||
@code{i82551}, @code{i82557b}, @code{i82559er},
|
||||
@code{ne2k_pci}, @code{ne2k_isa}, @code{pcnet}, @code{rtl8139},
|
||||
@code{e1000}, @code{smc91c111}, @code{lance} and @code{mcf_fec}.
|
||||
@code{e1000}, @code{smc91c111}, @code{lance}, @code{mcf_fec} and @code{usb}.
|
||||
Not all devices are supported on all targets. Use -net nic,model=?
|
||||
for a list of available devices for your target.
|
||||
|
||||
|
@ -1707,6 +1710,16 @@ serial converter, faking a Matrix Orbital LCD Display (USB ID 0403:FA00).
|
|||
@item braille
|
||||
Braille device. This will use BrlAPI to display the braille output on a real
|
||||
or fake device.
|
||||
@item net:@var{nic_num}
|
||||
Network adapter that supports CDC ethernet and RNDIS protocols. This must be
|
||||
used together with the @code{-net nic,model=usb,...} option (see description),
|
||||
where @var{nic_num} specifies the index of the @code{-net nic,...} option
|
||||
describing the interface (zero-based).
|
||||
For instance, user-mode networking can be used by specifying
|
||||
@example
|
||||
qemu -net user,vlan=1 -net nic,model=usb,vlan=1 -usbdevice net:0 [...OPTIONS...]
|
||||
@end example
|
||||
Currently this cannot be used in machines that support PCI NICs.
|
||||
@end table
|
||||
|
||||
@node host_usb_devices
|
||||
|
|
6
vl.c
6
vl.c
|
@ -5475,6 +5475,12 @@ static int usb_device_add(const char *devname)
|
|||
} else if (!strcmp(devname, "braille")) {
|
||||
dev = usb_baum_init();
|
||||
#endif
|
||||
} else if (strstart(devname, "net:", &p)) {
|
||||
int nicidx = strtoul(p, NULL, 0);
|
||||
|
||||
if (nicidx >= nb_nics || strcmp(nd_table[nicidx].model, "usb"))
|
||||
return -1;
|
||||
dev = usb_net_init(&nd_table[nicidx]);
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue