This patch-set implements early printk support for virtio console devices without using any hypercalls.
The current virtio early printk code in kernel expects that hypervisor will provide some mechanism generally a hypercall to support early printk. This patch-set does not break existing hypercall based early print support.
This implementation adds:
1. Early writeonly register named early_wr in virtio console's config space.
2. Host feature flags namely VIRTIO_CONSOLE_F_EARLY_WRITE for telling guest about early-write capability in console device.
Early write mechanism:
1. When a guest wants to out some character, it has to simply write the character to early_wr register in config space of virtio console device.
Pranavkumar Sawargaonkar (2):
virtio: console: Add early writeonly register to config space
arm64: earlyprintk support for virtio-mmio console
Documentation/virtual/virtio-spec.txt | 13 ++++++++++--
arch/arm64/kernel/early_printk.c | 35 +++++++++++++++++++++++++++++++++
include/uapi/linux/virtio_console.h | 3 +++
3 files changed, 49 insertions(+), 2 deletions(-)
--
1.7.9.5
Hi,
I checked out 13.04 build and followed instructions from "Building from
suorce" tab.
https://releases.linaro.org/13.04/openembedded/aarch64/
I compiled using "bitbake linaro-image-sdk". I am getting following error.
Does anybody know what is the problem?
Thanks,
Aparna
getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| In file included from getdents01.c:57:0:
| getdents.h: In function 'getdents':
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| In file included from getdents03.c:56:0:
| getdents.h: In function 'getdents':
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| In file included from getdents02.c:53:0:
| getdents.h: In function 'getdents':In file included from
getdents04.c:56:0:
| getdents.h: In function 'getdents':
|
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in
this function)
|
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| In file included from getdents02.c:53:0:
| getdents.h: In function 'getdents':
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| In file included from getdents03.c:56:0:
| getdents.h: In function 'getdents':
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| make[4]: *** [getdents01] Error 1
| make[4]: *** Waiting for unfinished jobs....
| make[4]: *** [getdents01_64.o] Error 1
| make[4]: *** [getdents03] Error 1
| make[4]: *** [getdents02] Error 1
| make[4]: *** [getdents04] Error 1
| In file included from getdents04.c:56:0:
| getdents.h: In function 'getdents':
| getdents.h:60:16: error: 'SYS_getdents' undeclared (first use in this
function)
| getdents.h:60:16: note: each undeclared identifier is reported only once
for each function it appears in
| make[4]: *** [getdents03_64.o] Error 1
| make[4]: *** [getdents02_64.o] Error 1
| make[4]: *** [getdents04_64.o] Error 1
| make[4]: Leaving directory
`/home/kvs/aparna/openembedded/build/tmp-eglibc/work/aarch64-oe-linux/ltp/20120903-r2/ltp-20120903/testcases/kernel/syscalls/getdents'
| make[3]: *** [all] Error 2
| make[3]: Leaving directory
`/home/kvs/aparna/openembedded/build/tmp-eglibc/work/aarch64-oe-linux/ltp/20120903-r2/ltp-20120903/testcases/kernel/syscalls'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory
`/home/kvs/aparna/openembedded/build/tmp-eglibc/work/aarch64-oe-linux/ltp/20120903-r2/ltp-20120903/testcases/kernel'
| make[1]: *** [all] Error 2
| make[1]: Leaving directory
`/home/kvs/aparna/openembedded/build/tmp-eglibc/work/aarch64-oe-linux/ltp/20120903-r2/ltp-20120903/testcases'
| make: *** [testcases-all] Error 2
| ERROR: oe_runmake failed
I'm delighted to announce that the Linaro Technical Steering Committee
has approved the release of the big.LITTLE in-kernel switcher (IKS) code
to the public.
So here it is:
Branch big.LITTLE-IKS-snapshot of
git://git.linaro.org/landing-teams/working/arm/kernel.git
Although this is a snapshot of our latest IKS code, it still needs some
minor tidying before it is submitted upstream. So please consider the
above as a temporary branch for people to look and play with, and not a
branch that we'll keep stable and maintain.
This code was also developed for and tested on the VExpress TC2
development platform. An MCPM backend and possibly a special cpufreq
clock driver are required for this code to be usable on other platforms.
The switcher concept is discussed here:
http://lwn.net/Articles/481055/
Porting documentation is available here:
https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/por…
The switcher code description is available here (slightly out of date):
https://wiki.linaro.org/projects/big.LITTLE.MP/Big.Little.Switcher/Docs/in-…
And a review of the MCPM layer upon which IKS and HMP rely:
http://lwn.net/Articles/539082/
The core MCPM patches are queued for inclusion into the v3.10 mainline
kernel. The MCPM backend for TC2 and the IKS patches will tentatively
be submitted for v3.11.
Nicolas
== Linus Walleij linusw ==
=== Highlights ===
* Sent a pull request to Torvalds for the v3.10 pinctrl
bundle. Sent another request for two fixes on top of it.
All pulled into mainline.
* The GPIO tree exploded and will be held back for this
merge window. Root-causing with Grant so as to make
sure it won't happen again. (Cross-tree dependencies
caused this. Partly my fault.)
* Started to apply DMA40 patches from Lee on a specific
DMA40 branch targeted for ARM SoC. Awaiting some
ACKs and complaining as I go along.
* Started to queue Ux500 device tree patches on another
branch.
* Iterated U300 DT patches and sent a multiplatform series
on top of it. Will round it off with a series moving the clocks
to the DT as a final step.
=== Plans ===
* On vacation until 9/5 i.e. I'm off this coming week.
(Will be watching the merge window for any major disasters.)
* Stack fixes for the -rc series.
* Finalize U300 patch set.
* Finalize Integrator PCI patch set, then start to delete
board files and convert to multiplatform.
* Convert Nomadik pinctrl driver to register GPIO ranges
from the gpiochip side.
* Test the PL08x patches on the Ericsson Research
PB11MPCore and submit platform data for using
pl08x DMA on that platform.
* Get hands dirty with regmap.
=== Issues ===
* N/A
Thanks,
Linus Walleij
=== Highlights ===
* Reworked a good chunk of the volatile range patch set, addressing
issues from lsf-mm, and making required interface changes. Sent patches
to Minchan for review.
* Reviewed tglx's clocksource unregister patches
* Pinged Keith Packard on his blog post related to userland sync w/ X to
see if there was much overlap with Android sync.
* Discussed Android/entropy security issue w/ Ted Tso
* Reviewed Zoran's patchset prior to it going to lkml
* Reviewed blueprints and sent out weekly mail summary
* Helped with 13.05 Engineering Update
* Worked on LPC Android minisummit planning
* Synced with Mathieu on keyreset planning
=== Plans ===
* Address remapping issue in volatile ranges patchset
* Unify volatile range purging logic in volatile ranges patchset
* Send volatile ranges to lkml
* More LPC minisummit planning
* Hopefully a chance for ION research
=== Issues ===
* NA
Hi Rafael,
I know I am late for this merge window and you have already closed the gates :)
If you can still take them, its good, otherwise we will push this for v3.10-rc2.
These are minor fixes for ARM big LITTLE cpufreq driver. It doesn't impact any
other driver or cpufreq core and are fairly independent.
Viresh Kumar (5):
cpufreq: ARM big LITTLE: Select PM_OPP
cpufreq: ARM big LITTLE DT: Return correct transition latency
cpufreq: ARM big LITTLE DT: Return CPUFREQ_ETERNAL if clock-latency
isn't found
cpufreq: ARM big LITTLE: Move cpu_to_cluster() to arm_big_little.h
cpufreq: ARM big LITTLE: Improve print message
drivers/cpufreq/Kconfig.arm | 1 +
drivers/cpufreq/arm_big_little.c | 7 +------
drivers/cpufreq/arm_big_little.h | 5 +++++
drivers/cpufreq/arm_big_little_dt.c | 9 +++++----
4 files changed, 12 insertions(+), 10 deletions(-)
--
1.7.12.rc2.18.g61b472e