linux/drivers/char
Amit Shah 17634ba255 virtio: console: Add a new MULTIPORT feature, support for generic ports
This commit adds a new feature, MULTIPORT. If the host supports this
feature as well, the config space has the number of ports defined for
that device. New ports are spawned according to this information.

The config space also has the maximum number of ports that can be
spawned for a particular device. This is useful in initializing the
appropriate number of virtqueues in advance, as ports might be
hot-plugged in later.

Using this feature, generic ports can be created which are not tied to
hvc consoles.

We also open up a private channel between the host and the guest via
which some "control" messages are exchanged for the ports, like whether
the port being spawned is a console port, resizing the console window,
etc.

Next commits will add support for hotplugging and presenting char
devices in /dev/ for bi-directional guest-host communication.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2010-02-24 14:22:52 +10:30
..
agp x86/agp: Fix amd64-agp module initialization regression 2010-02-04 07:27:26 +01:00
hw_random virtio: fix section mismatch warnings 2010-01-16 12:15:39 -08:00
ip2 tty: rewrite the ldisc locking 2009-06-11 08:51:01 -07:00
ipmi ACPI: fix ACPI=n allmodconfig build 2009-12-30 01:24:25 -05:00
mwave mwave: fix read buffer overflow 2009-09-24 07:21:03 -07:00
pcmcia tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
rio tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
tpm tpm_infineon: fix suspend/resume handler for pnp_driver 2010-02-11 13:59:42 -08:00
xilinx_hwicap const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
.gitignore
amiserial.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
apm-emulation.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
applicom.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
applicom.h
bfin-otp.c const: constify remaining file_operations 2009-10-01 16:11:11 -07:00
bfin_jtag_comm.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
briq_panel.c
bsr.c powerpc/BSR: Fix BSR to allow mmap of small BSR on 64k kernel 2009-06-26 14:37:26 +10:00
cd1865.h
ChangeLog
consolemap.c consolemap: indentation & braces disagree - reindent 2009-01-06 15:59:30 -08:00
cp437.uni unicode table for cp437 2008-12-13 11:25:49 -08:00
cs5535_gpio.c drivers: Remove BKL from cs5535_gpio 2009-10-14 17:36:48 +02:00
cyclades.c cyclades: fix read buffer overflow 2009-10-01 16:11:16 -07:00
defkeymap.c_shipped
defkeymap.map
digi1.h
digiFep1.h
digiPCI.h
ds1302.c rtc: use bcd2bin/bin2bcd 2008-10-20 08:52:41 -07:00
ds1620.c [ARM] netwinder: clean up GPIO naming 2008-12-13 09:12:07 +00:00
dsp56k.c device create: char: convert device_create_drvdata to device_create 2008-10-16 09:24:42 -07:00
dtlk.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
efirtc.c efirtc: explicitly set llseek to no_llseek 2009-12-16 07:19:59 -08:00
epca.c tty: const: constify remaining tty_operations 2009-12-11 15:18:03 -08:00
epca.h
epcaconfig.h
generic_nvram.c nvram: Drop the bkl from nvram_llseek() 2009-10-14 17:36:49 +02:00
generic_serial.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
genrtc.c headers: Fix build after <linux/sched.h> removal 2009-10-13 10:20:16 -07:00
hangcheck-timer.c
hpet.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
hvc_beat.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_console.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_console.h hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_irq.c hvc_console: Call free_irq() only if request_irq() was successful 2009-01-13 14:48:01 +11:00
hvc_iseries.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_iucv.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_rtas.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_udbg.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_vio.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvc_xen.c hvc_console: make the ops pointer const. 2010-02-24 14:22:32 +10:30
hvcs.c Merge commit 'origin/master' into next 2009-06-18 11:16:55 +10:00
hvsi.c powerpc/hvsi: Avoid calculating possibly-invalid address 2009-08-20 10:29:28 +10:00
i8k.c i8k: Add Dell Vostro systems 2009-01-02 10:28:32 -08:00
isicom.c tty: isicom: fix deadlock on shutdown 2009-12-11 15:18:07 -08:00
istallion.c tty: istallion: tty port open/close methods 2009-12-11 15:18:06 -08:00
Kconfig powerpc/hvc: Driver build breaks with !HVC_CONSOLE 2010-01-15 13:26:13 +11:00
keyboard.c Input: keyboard - don't override beep with a bell 2009-12-15 21:48:55 -08:00
lp.c lp: move compat_ioctl handling into lp.c 2009-12-10 22:55:36 +01:00
Makefile tty: esp: remove broken driver 2009-12-11 15:18:03 -08:00
mbcs.c [IA64] mbcs: fix printk format warnings 2009-09-15 08:42:00 -07:00
mbcs.h
mem.c devmem: fix kmem write bug on memory holes 2010-02-02 18:11:22 -08:00
misc.c drivers/char/misc.c: use bitmap/bitops functions for dynamic minor number allocation 2009-12-15 08:53:27 -08:00
mmtimer.c
moxa.c tty: moxa: split open lock 2009-12-11 15:18:08 -08:00
moxa.h
mspec.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mxser.c tty: mxser: Use the new locking rules to fix setserial properly 2009-12-11 15:18:07 -08:00
mxser.h
n_hdlc.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
n_r3964.c tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
n_tty.c n_tty: move echoctl check and clean up logic 2009-09-19 13:13:34 -07:00
nozomi.c nozomi: quick fix for the close/close bug 2010-01-20 15:03:27 -08:00
nsc_gpio.c
nvram.c nvram: Fix write beyond end condition; prove to gcc copy is safe 2009-12-11 15:48:23 -08:00
nwbutton.c
nwbutton.h
nwflash.c ARM: add missing include to nwflash.c 2009-12-19 23:36:00 +00:00
pc8736x_gpio.c drivers: Remove BKL from pc8736x_gpio 2009-10-14 17:36:52 +02:00
ppdev.c ppdev: reduce kernel log spam 2009-06-18 13:03:54 -07:00
ps3flash.c ps3flash: Always read chunks of 256 KiB, and cache them 2009-06-15 16:47:27 +10:00
pty.c tty: push the BKL down into the handlers a bit 2009-12-11 15:18:08 -08:00
random.c random: Remove unused inode variable 2010-02-02 06:50:27 +11:00
raw.c Driver-Core: extend devnode callbacks to provide permissions 2009-09-19 12:50:38 -07:00
riscom8.c tty: riscom8: switch to the tty_port_open API 2009-12-11 15:18:06 -08:00
riscom8.h
riscom8_reg.h
rocket.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
rocket.h tty: rocketport uses different port flags to everyone else 2009-01-02 10:19:39 -08:00
rocket_int.h tty: rocketport uses different port flags to everyone else 2009-01-02 10:19:39 -08:00
rtc.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
scc.h m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
scx200_gpio.c drivers: Remove BKL from scx200_gpio 2009-10-14 17:36:53 +02:00
selection.c tty: rewrite the ldisc locking 2009-06-11 08:51:01 -07:00
ser_a2232.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
ser_a2232.h
ser_a2232fw.ax
ser_a2232fw.h
serial167.c serial167: fix read buffer overflow 2009-10-01 16:11:16 -07:00
snsc.c device create: char: convert device_create_drvdata to device_create 2008-10-16 09:24:42 -07:00
snsc.h
snsc_event.c
sonypi.c sony_pi: Remove the BKL from open and ioctl 2010-01-04 12:31:20 -08:00
specialix.c specialix.c: convert nested spin_lock_irqsave to spin_lock 2009-07-20 16:38:43 -07:00
specialix_io8.h
stallion.c tty: stallion: Convert to the tty_port_open/close methods 2009-12-11 15:18:06 -08:00
sx.c headers: smp_lock.h redux 2009-07-12 12:22:34 -07:00
sx.h
sxboards.h
sxwindow.h
synclink.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
synclink_gt.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
synclinkmp.c hdlc: convert to netdev_tx_t 2009-09-01 01:13:31 -07:00
sysrq.c oom-kill: fix NUMA constraint check with nodemask 2009-12-16 07:19:57 -08:00
tb0219.c mips: Remove BKL from tb0219 2009-10-14 17:36:53 +02:00
tlclk.c headers: remove sched.h from interrupt.h 2009-10-11 11:20:58 -07:00
toshiba.c tosh: Use non bkl ioctl 2010-01-04 12:31:21 -08:00
tty_audit.c tty: remove buffer special casing 2009-06-11 08:51:02 -07:00
tty_buffer.c tty: use the new 'flush_delayed_work()' helper to do ldisc flush 2009-10-14 09:20:41 -07:00
tty_io.c Fix race in tty_fasync() properly 2010-02-07 10:26:01 -08:00
tty_ioctl.c tree-wide: fix a very frequent spelling mistake 2009-11-09 09:40:54 +01:00
tty_ldisc.c tty: Push the lock down further into the ldisc code 2009-12-11 15:18:08 -08:00
tty_port.c tty: tty_port: Add a kref object to the tty port 2009-12-11 15:18:07 -08:00
uv_mmtimer.c x86, UV: Fix RTC latency bug by reading replicated cachelines 2010-01-27 11:33:53 +01:00
vc_screen.c vc: create vcs(a) devices for consoles 2009-07-20 16:38:43 -07:00
viotape.c tape: beyond ARRAY_SIZE of viocd_diskinfo 2009-06-02 10:32:34 +10:00
virtio_console.c virtio: console: Add a new MULTIPORT feature, support for generic ports 2010-02-24 14:22:52 +10:30
vme_scc.c m68k: vme_scc - Kill warn_unused_result warnings 2009-01-12 20:56:38 +01:00
vt.c vt: make the default cursor shape configurable 2009-12-16 07:19:57 -08:00
vt_ioctl.c vt: Fix use of "new" in a struct field 2009-11-19 13:43:06 -08:00