Ohad Ben-Cohen
bcabbccabf
rpmsg: add virtio-based remote processor messaging bus
...
Add a virtio-based inter-processor communication bus, which enables
kernel drivers to communicate with entities, running on remote
processors, over shared memory using a simple messaging protocol.
Every pair of AMP processors share two vrings, which are used to send
and receive the messages over shared memory.
The header of every message sent on the rpmsg bus contains src and dst
addresses, which make it possible to multiplex several rpmsg channels on
the same vring.
Every rpmsg channel is a device on this bus. When a channel is added,
and an appropriate rpmsg driver is found and probed, it is also assigned
a local rpmsg address, which is then bound to the driver's callback.
When inbound messages carry the local address of a bound driver,
its callback is invoked by the bus.
This patch provides a kernel interface only; user space interfaces
will be later exposed by kernel users of this rpmsg bus.
Designed with Brian Swetland <swetland@google.com>.
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au> (virtio_ids.h)
Cc: Brian Swetland <swetland@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Greg KH <greg@kroah.com>
Cc: Stephen Boyd <sboyd@codeaurora.org>
2012-02-08 22:53:58 +02:00
..
ABI
rpmsg: add virtio-based remote processor messaging bus
2012-02-08 22:53:58 +02:00
accounting
acpi
acpi/apei/einj: Add extensions to EINJ from rev 5.0 of acpi spec
2012-01-18 01:14:17 -05:00
aoe
arm
ARM: move iotable mappings within the vmalloc region
2011-11-26 19:21:26 -05:00
auxdisplay
blackfin
doc: fix broken references
2011-09-27 18:08:04 +02:00
block
Documentation: drop as block elevator reference in switching-sched.txt
2011-11-04 12:01:48 -07:00
blockdev
cciss: auto engage SCSI mid layer at driver load time
2011-11-16 09:21:49 +01:00
cdrom
doc: fix broken references
2011-09-27 18:08:04 +02:00
cgroups
memcg: fix pgpgin/pgpgout documentation
2012-01-12 20:13:06 -08:00
connector
console
cpu-freq
Doc: cpufreq: Fix typo and outdated line
2011-11-08 10:23:29 +01:00
cpuidle
cris
crypto
development-process
Documentation: Update stable address
2011-12-12 14:14:31 -08:00
device-mapper
dm log userspace: fix comment hyphens
2011-10-31 20:21:22 +00:00
devicetree
Merge branch 'for-linus/i2c-33' of git://git.fluff.org/bjdooks/linux
2012-01-18 13:46:13 -08:00
DocBook
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-01-18 12:53:54 -08:00
driver-model
lib: devres: add convenience function to remap a resource
2011-11-15 16:07:39 -08:00
dvb
[media] dvb_get_firmware: updates for it913x
2011-12-11 09:00:48 -02:00
early-userspace
fault-injection
fault-injection: update documentation with the mmc module param
2011-10-26 16:32:13 -04:00
fb
fbdev: Add FOURCC-based format configuration API
2011-12-19 20:07:13 +00:00
filesystems
Merge branch 'for-3.3' of git://linux-nfs.org/~bfields/linux
2012-01-14 12:26:41 -08:00
firmware_class
frv
doc: fix broken references
2011-09-27 18:08:04 +02:00
hid
hwmon
hwmon: (sysfs-interface) Update tempX_type attribute to be more generic
2012-01-16 22:51:48 +01:00
i2c
i2c: Fix device name for 10-bit slave address
2011-11-23 11:33:07 +01:00
i2o
ia64
ide
infiniband
input
Input: sentelic - document the latest hardware
2011-12-23 01:15:16 -08:00
ioctl
NVMe: New driver
2011-11-04 15:52:51 -04:00
isdn
ja_JP
kbuild
kbuild: Add support for an "archheaders" target
2011-11-17 13:35:20 -08:00
kdump
[S390] Add s390x description to Documentation/kdump/kdump.txt
2011-12-27 11:27:13 +01:00
ko_KR
laptops
Documentation: thinkpad-acpi grammo fixes
2011-11-04 12:01:47 -07:00
leds
Documentation: fix leds-class.txt duplicated word
2011-11-04 12:01:48 -07:00
m68k
Documentation: add pointer to name_to_dev_t for root= values
2011-08-03 14:25:21 -10:00
make
mips
misc-devices
mmc
mmc: core: Fixup delayed work clock gating patch
2012-01-11 23:58:43 -05:00
mn10300
mtd
namespaces
netlabel
networking
bonding: document undocumented active_slave sysfs entry.
2011-12-26 20:09:35 -05:00
nfc
parisc
PCI
doc: fix broken references
2011-09-27 18:08:04 +02:00
pcmcia
power
Merge git://git.infradead.org/battery-2.6
2012-01-11 18:53:05 -08:00
powerpc
pps
prctl
pti
ptp
rapidio
RapidIO: documentation update
2011-11-02 16:07:02 -07:00
RCU
docs: Additional LWN links to RCU API
2011-12-11 10:32:23 -08:00
s390
[S390] Remove Kerntypes leftovers
2011-12-27 11:27:12 +01:00
scheduler
sched: Add documentation for bandwidth control
2011-08-14 12:03:58 +02:00
scsi
[SCSI] qla4xxx: Update license
2012-01-16 12:34:12 +04:00
security
Merge branch 'master'; commit 'v3.2-rc2' into next
2011-11-16 12:39:48 +11:00
serial
serial/documentation: fix documented name of DCD cpp symbol
2012-01-04 16:26:32 -08:00
sh
sound
Merge branch 'topic/hda' into for-linus
2012-01-12 09:59:18 +01:00
sparc
spi
doc: fix broken references
2011-09-27 18:08:04 +02:00
sysctl
sysctl: add the kernel.ns_last_pid control
2012-01-12 20:13:11 -08:00
target
target: tcm_mod_builder: small fixups
2011-12-14 11:38:25 +00:00
telephony
thermal
timers
doc: fix broken references
2011-09-27 18:08:04 +02:00
trace
mm-tracepoint: fix documentation and examples
2012-01-10 16:30:41 -08:00
usb
USB: update documentation for usbmon
2012-01-04 16:04:30 -08:00
vDSO
video4linux
[media] V4L2 Spec: fix extended control documentation
2012-01-16 09:37:53 -02:00
virtual
lguest: move the lguest tool to the tools directory
2012-01-12 15:44:47 +10:30
vm
slub: document setting min order with debug_guardpage_minorder > 0
2012-01-12 20:13:04 -08:00
w1
watchdog
watchdog: documentation: describe nowayout in coversion-guide
2012-01-06 15:26:14 +01:00
wimax
x86
x86-64, doc: Remove int 0xcc from entry_64.S documentation
2011-08-16 08:04:08 -07:00
zh_CN
remove the messy code file Documentation/zh_CN/SubmitChecklist
2011-09-26 16:18:41 -07:00
.gitignore
00-INDEX
Documentation: add Ramoops usage description
2011-08-13 18:34:03 -07:00
applying-patches.txt
atomic_ops.txt
doc: Add load/store guarantees to Documentation/atomic-ops.txt
2011-12-11 10:31:58 -08:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
cachetlb.txt
Changes
circular-buffers.txt
coccinelle.txt
coccinelle.txt: update documentation to include M= option
2012-01-14 22:25:56 +01:00
CodingStyle
Documentation: update CodingStyle use of braces
2011-11-04 12:01:47 -07:00
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
vhost-net: add module alias (v2.1)
2012-01-13 10:12:23 -08:00
digsig.txt
crypto: digital signature verification support
2011-11-09 12:10:37 +02:00
DMA-API-HOWTO.txt
DMA-API.txt
include/linux/dma-mapping.h: add dma_zalloc_coherent()
2011-11-02 16:07:02 -07:00
DMA-attributes.txt
dma-buf-sharing.txt
dma-buf: Documentation update for Kconfig select
2012-01-13 10:27:33 +00:00
DMA-ISA-LPC.txt
dmaengine.txt
DMAEngine: Define interleaved transfer request api
2011-11-18 12:16:24 +05:30
dontdiff
[S390] Remove Kerntypes leftovers
2011-12-27 11:27:12 +01:00
dynamic-debug-howto.txt
edac.txt
eisa.txt
email-clients.txt
Documentation: email-clients: Add better Thunderbird information
2011-08-13 18:34:03 -07:00
feature-removal-schedule.txt
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
2012-01-18 12:53:54 -08:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
highuid.txt
HOWTO
Documentation: Update stable address
2011-12-12 14:14:31 -08:00
hw_random.txt
hwspinlock.txt
hwspinlock/core: register a bank of hwspinlocks in a single API call
2011-09-21 19:45:34 +03:00
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
kernel-parameters.txt
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
2012-01-18 15:51:48 -08:00
kmemcheck.txt
kmemleak.txt
kmemleak: Handle percpu memory allocation
2011-12-02 16:12:42 +00:00
kobject.txt
kprobes.txt
kref.txt
ldm.txt
local_ops.txt
lockdep-design.txt
lockdep: Update documentation for lock-class leak detection
2011-12-11 10:31:23 -08:00
lockstat.txt
logo.gif
logo.txt
magic-number.txt
Makefile
ManagementStyle
mca.txt
md.txt
md: create externally visible flags for supporting hot-replace.
2011-12-23 10:17:51 +11:00
media-framework.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
memory-barriers.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
memory-hotplug.txt
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
module,bug: Add TAINT_OOT_MODULE flag for modules not built in-tree
2011-11-07 07:54:42 +10:30
padata.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pinctrl.txt
pinctrl: some typo fixes
2012-01-03 09:10:08 +01:00
pnp.txt
preempt-locking.txt
printk-formats.txt
prio_tree.txt
ramoops.txt
Documentation: add Ramoops usage description
2011-08-13 18:34:03 -07:00
rbtree.txt
remoteproc.txt
remoteproc: add framework for controlling remote processors
2012-02-08 22:52:56 +02:00
rfkill.txt
doc: fix broken references
2011-09-27 18:08:04 +02:00
robust-futex-ABI.txt
robust-futexes.txt
rpmsg.txt
rpmsg: add virtio-based remote processor messaging bus
2012-02-08 22:53:58 +02:00
rt-mutex-design.txt
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
sparse.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
Update email address for stable patch submission
2011-10-18 13:58:59 -07:00
SubmitChecklist
SubmittingDrivers
Documentation: SubmittingDrivers: fix Linus's git tree URL
2011-08-13 18:34:03 -07:00
SubmittingPatches
Documentation: fix spelling error in SubmittingPatches
2011-08-13 18:34:02 -07:00
svga.txt
sysfs-rules.txt
sysrq.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
misc latin1 to utf8 conversions
2012-01-02 13:04:55 +01:00
video-output.txt
volatile-considered-harmful.txt
workqueue.txt
xz.txt
zorro.txt