Hi all,
this patch series implements Xen support for ARMv7 with virtualization
extensions. It allows a Linux guest to boot as dom0 and
as domU on Xen on ARM. PV console, disk and network frontends and
backends are all working correctly.
It has been tested on a Versatile Express Cortex A15 emulator, using the
latest Xen ARM developement branch
(git://xenbits.xen.org/people/ianc/xen-unstable.git arm-for-4.3) plus
the "ARM hypercall ABI: 64 bit ready" patch series
(http://marc.info/?l=xen-devel&m=134426267205408), and a simple ad-hoc
tool to build guest domains (marc.info/?l=xen-devel&m=134089788016546).
The patch marked with [HACK] shouldn't be applied and is part of the
series only because it is needed to create domUs.
I am also attaching to this email the dts'es that I am currently using
for dom0 and domU: vexpress-v2p-ca15-tc1.dts (that includes
vexpress-v2m-rs1-rtsm.dtsi) is the dts used for dom0 and it is passed to
Linux by Xen, while vexpress-virt.dts is the dts used for other domUs
and it is appended in binary form to the guest kernel image. I am not
sure where they are supposed to live yet, so I am just attaching them
here so that people can actually try out this series if they want to.
Comments are very welcome!
Changes in v2:
- fix up many comments and commit messages;
- remove the early_printk patches: rely on the emulated serial for now;
- remove the xen_guest_init patch: without any PV early_printk, we don't
need any early call to xen_guest_init, we can rely on core_initcall
alone;
- define an HYPERCALL macro for 5 arguments hypercall wrappers, even if
at the moment is unused;
- use ldm instead of pop in the hypercall wrappers;
- return -ENOSYS rather than -1 from the unimplemented grant_table
functions;
- remove the pvclock ifdef in the Xen headers;
- remove include linux/types.h from xen/interface/xen.h;
- replace pr_info with pr_debug in xen_guest_init;
- add a new patch to introduce xen_ulong_t and use it top replace all
the occurences of unsigned long in the public Xen interface;
- explicitely size all the pointers to 64 bit on ARM, so that the
hypercall ABI is "64 bit ready";
- clean up xenbus_init;
- make pci.o depend on CONFIG_PCI and acpi.o depend on CONFIG_ACPI;
- mark Xen guest support on ARM as EXPERIMENTAL;
- introduce GRANT_TABLE_PHYSADDR;
- remove unneeded initialization of boot_max_nr_grant_frames;
- add a new patch to clear IRQ_NOAUTOEN and IRQ_NOREQUEST in events.c;
- return -EINVAL from xen_remap_domain_mfn_range if
auto_translated_physmap;
- retain binary compatibility in xen_add_to_physmap: use a union to
introduce foreign_domid.
Ian Campbell (1):
[HACK] xen/arm: implement xen_remap_domain_mfn_range
Stefano Stabellini (22):
arm: initial Xen support
xen/arm: hypercalls
xen/arm: page.h definitions
xen/arm: sync_bitops
xen/arm: empty implementation of grant_table arch specific functions
xen: missing includes
xen/arm: Xen detection and shared_info page mapping
xen/arm: Introduce xen_pfn_t for pfn and mfn types
xen/arm: Introduce xen_ulong_t for unsigned long
xen/arm: compile and run xenbus
xen: do not compile manage, balloon, pci, acpi and cpu_hotplug on ARM
xen/arm: introduce CONFIG_XEN on ARM
xen/arm: get privilege status
xen/arm: initialize grant_table on ARM
xen/arm: receive Xen events on ARM
xen: clear IRQ_NOAUTOEN and IRQ_NOREQUEST
xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
xen: allow privcmd for HVM guests
xen/arm: compile blkfront and blkback
xen/arm: compile netback
xen: update xen_add_to_physmap interface
arm/v2m: initialize arch_timers even if v2m_timer is not present
arch/arm/Kconfig | 10 ++
arch/arm/Makefile | 1 +
arch/arm/include/asm/hypervisor.h | 6 +
arch/arm/include/asm/sync_bitops.h | 27 +++
arch/arm/include/asm/xen/events.h | 18 ++
arch/arm/include/asm/xen/hypercall.h | 69 ++++++++
arch/arm/include/asm/xen/hypervisor.h | 19 +++
arch/arm/include/asm/xen/interface.h | 72 +++++++++
arch/arm/include/asm/xen/page.h | 79 +++++++++
arch/arm/mach-vexpress/v2m.c | 11 +-
arch/arm/xen/Makefile | 1 +
arch/arm/xen/enlighten.c | 237 ++++++++++++++++++++++++++++
arch/arm/xen/grant-table.c | 53 ++++++
arch/arm/xen/hypercall.S | 106 +++++++++++++
arch/ia64/include/asm/xen/interface.h | 6 +-
arch/x86/include/asm/xen/interface.h | 8 +
arch/x86/xen/enlighten.c | 1 +
arch/x86/xen/irq.c | 1 +
arch/x86/xen/mmu.c | 3 +
arch/x86/xen/xen-ops.h | 1 -
drivers/block/xen-blkback/blkback.c | 1 +
drivers/net/xen-netback/netback.c | 1 +
drivers/net/xen-netfront.c | 1 +
drivers/tty/hvc/hvc_xen.c | 2 +
drivers/xen/Makefile | 11 +-
drivers/xen/events.c | 18 ++-
drivers/xen/grant-table.c | 1 +
drivers/xen/privcmd.c | 20 +--
drivers/xen/xenbus/xenbus_comms.c | 2 +-
drivers/xen/xenbus/xenbus_probe.c | 62 +++++---
drivers/xen/xenbus/xenbus_probe_frontend.c | 1 +
drivers/xen/xenbus/xenbus_xs.c | 1 +
drivers/xen/xenfs/super.c | 7 +
include/xen/events.h | 2 +
include/xen/interface/features.h | 3 +
include/xen/interface/grant_table.h | 4 +-
include/xen/interface/io/protocols.h | 3 +
include/xen/interface/memory.h | 32 +++--
include/xen/interface/physdev.h | 4 +-
include/xen/interface/platform.h | 4 +-
include/xen/interface/version.h | 2 +-
include/xen/interface/xen.h | 13 +-
include/xen/privcmd.h | 3 +-
include/xen/xen.h | 2 +-
44 files changed, 857 insertions(+), 72 deletions(-)
A branch based on 3.5-rc7 is available here:
git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 3.5-rc7-arm-2
Cheers,
Stefano
On embedded devices, often there is a combination of removable mmc
devices (e.g. MMC/SD cards) and hard wired ones (e.g. eMMC).
Depending on the hardware configuration, the 'mmcblkN' node might
change if the removable device is available or not at boot time.
E.g. if the removable device is attached at boot time, it might
become mmxblk0. And the hard wired one mmcblk1. But if the removable
device isn't there at boot time, the hard wired one will become
mmcblk0. This makes it somehow difficult to hard code the root device
to the non-removable device and boot fast.
This change does simply associate 'N' of 'mmcblkN' with the slot index
instead of the dynamic name index. The slot index is always the same,
ensuring that the non-removable mmc device is associated always
with the same mmcblkN. Independent of the availability of the removable
one.
This issue has a long history. One prominent one is e.g. from the
Maemo based Nokia N810 device:
https://bugs.maemo.org/show_bug.cgi?id=2747
Signed-off-by: Dirk Behme <dirk.behme(a)de.bosch.com>
CC: Jassi Brar <jaswinder.singh(a)linaro.org>
CC: Chris Ball <cjb(a)laptop.org>
---
drivers/mmc/card/block.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index f1c84de..a01d306 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -1517,7 +1517,7 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
*/
snprintf(md->disk->disk_name, sizeof(md->disk->disk_name),
- "mmcblk%d%s", md->name_idx, subname ? subname : "");
+ "mmcblk%d%s", card->host->index, subname ? subname : "");
if (mmc_card_mmc(card))
blk_queue_logical_block_size(md->queue.queue,
--
1.7.0.4
From: "hongbo.zhang" <hongbo.zhang(a)linaro.com>
If we want to set one cpufreq governor mode, we must check this mode is supported or not before setting it.
Otherwise we will get failure reported, this differs from the case that one mode is said to be supported but doesn't work well at all.
hongbo.zhang (1):
cpufreq: governor mode should be checked if it is supported before
setting it.
cpufreq/cpufreq_04.sh | 7 ++++++-
cpufreq/cpufreq_05.sh | 54 +++++++++++++++++++++++++++++++++----------------
cpufreq/cpufreq_06.sh | 6 ++++++
cpufreq/cpufreq_07.sh | 6 ++++++
cpufreq/cpufreq_08.sh | 6 ++++++
cpufreq/cpufreq_09.sh | 6 ++++++
6 files changed, 67 insertions(+), 18 deletions(-)
--
1.7.10
Hi,
I'm Claude working for InSignal as open-source director. I am happy to
announce about 1st initial release of "FFmpeg-on-Android" project to be
public open-source project. InSignal and project members expect to join
anyone who interests multimedia on android platform with FFmpeg. :)
"FFmpeg on Android" project is the open source project for multimedia
play service which is adopt to Android OS 4.0. "FFmpeg on Android"
project is originally designed by dr.nitro and powered by InSignal Co., Ltd.
"FFmpeg on Android" project is to enhance multimedia support on Android
OS, starts on 4.0 ICS version. Currently Android OS has many limits to
support variety multimedia formats, using specific H/W resources, not
also S/W. So, we expact, if we can use the famus FFmpeg library in
Andorid OS with little modification on Android Stagefright; We can
overcome many current limits in Android muntimedia supports easly.
Currently source code is releaded at git public site of InSignal,
git.insignal.co.kr/multimedia/ffmpeg-on-android. You can check with web
site;
"http://git.insignal.co.kr/?p=multimedia/ffmpeg-on-android.git;a=summary".
And also, we worked on Origen board (based on Exynos4210) and try to
port next Origen boards (based on Exynos4412 and Exynos5250). You can
see the capture of its working capture on Origen board at youtube,
"http://youtu.be/BBrnwMC8cec".
If you have any interest or any question, please visit google groups,
"https://groups.google.com/forum/#!forum/ffmpeg-on-android", to talk all
about FFmpeg-on-Android project freely. :)
All the source code of "FFmpeg-on-Android" is under Apache license v2.0.
If you want to know more details about Apache license, you can see
LICENSE file in source code.
with Best Regards,
claude
Hi all,
this patch series implements Xen support for ARMv7 with virtualization
extensions. It allows a Linux guest to boot as dom0 and
as domU on Xen on ARM. PV console, disk and network frontends and
backends are all working correctly.
It has been tested on a Versatile Express Cortex A15 emulator, using the
latest Xen, and a simple ad-hoc tool to build guest domains
(marc.info/?l=xen-devel&m=134089788016546).
The patch marked with [HACK] shouldn't be applied and is part of the
series only because it is needed to create domUs.
I am also attaching to this email the dts'es that I am currently using
for dom0 and domU: vexpress-v2p-ca15-tc1.dts is the dts used for dom0
and it is passed to Linux by Xen, while vexpress-virt.dts is the dts
used for other domUs and it is appended in binary form to the guest
kernel image. I am not sure where they are supposed to live yet, so I am
just attaching them here so that people can actually try out this series
if they want to.
Comments are very welcome!
Ian Campbell (2):
ARM: enable earlyprintk=xen
[HACK] xen/arm: implement xen_remap_domain_mfn_range
Stefano Stabellini (22):
arm: initial Xen support
xen/arm: hypercalls
xen/arm: page.h definitions
xen/arm: sync_bitops
xen/arm: empty implementation of grant_table arch specific functions
xen: missing includes
xen/arm: Xen detection and shared_info page mapping
xen/arm: Introduce xen_pfn_t for pfn and mfn types
xen/arm: compile and run xenbus
xen: do not compile manage, balloon, pci, acpi and cpu_hotplug on ARM
xen/arm: introduce CONFIG_XEN on ARM
xen/arm: Introduce xen_guest_init
xen/arm: get privilege status
xen/arm: initialize grant_table on ARM
xen/arm: receive Xen events on ARM
xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
xen: allow privcmd for HVM guests
xen/arm: compile blkfront and blkback
xen/arm: compile netback
xen: update xen_add_to_physmap interface
arm/v2m: initialize arch_timers even if v2m_timer is not present
hvc_xen: allow dom0_write_console for HVM guests
arch/arm/Kconfig | 10 ++
arch/arm/Makefile | 1 +
arch/arm/include/asm/hypervisor.h | 6 +
arch/arm/include/asm/sync_bitops.h | 17 ++
arch/arm/include/asm/xen/hypercall.h | 69 ++++++++
arch/arm/include/asm/xen/hypervisor.h | 19 +++
arch/arm/include/asm/xen/interface.h | 66 ++++++++
arch/arm/include/asm/xen/page.h | 77 +++++++++
arch/arm/kernel/early_printk.c | 11 ++-
arch/arm/mach-vexpress/v2m.c | 11 +-
arch/arm/xen/Makefile | 1 +
arch/arm/xen/enlighten.c | 244 ++++++++++++++++++++++++++++
arch/arm/xen/grant-table.c | 53 ++++++
arch/arm/xen/hypercall.S | 65 ++++++++
arch/ia64/include/asm/xen/interface.h | 2 +-
arch/x86/include/asm/xen/interface.h | 2 +
arch/x86/xen/enlighten.c | 9 +
arch/x86/xen/irq.c | 1 +
arch/x86/xen/xen-ops.h | 1 -
drivers/block/xen-blkback/blkback.c | 1 +
drivers/net/xen-netback/netback.c | 1 +
drivers/net/xen-netfront.c | 1 +
drivers/tty/hvc/hvc_xen.c | 14 +-
drivers/xen/Makefile | 9 +-
drivers/xen/events.c | 18 ++-
drivers/xen/grant-table.c | 3 +-
drivers/xen/privcmd.c | 20 +--
drivers/xen/xenbus/xenbus_comms.c | 2 +-
drivers/xen/xenbus/xenbus_probe.c | 27 ++--
drivers/xen/xenbus/xenbus_probe_frontend.c | 1 +
drivers/xen/xenbus/xenbus_xs.c | 1 +
drivers/xen/xenfs/super.c | 7 +
include/xen/events.h | 2 +
include/xen/interface/features.h | 3 +
include/xen/interface/grant_table.h | 4 +-
include/xen/interface/io/protocols.h | 3 +
include/xen/interface/memory.h | 19 ++-
include/xen/interface/platform.h | 4 +-
include/xen/interface/xen.h | 9 +-
include/xen/privcmd.h | 3 +-
include/xen/xen.h | 4 +-
41 files changed, 763 insertions(+), 58 deletions(-)
A branch based on 3.5-rc7 is available here:
git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git 3.5-rc7-arm-1
Cheers,
Stefano
Hi,list,i was reading forlin patch in linaro about mmc sdio function single irq,i am in a SDIO wifi project,i want to evaluate SDIO wifi throught in sdio layer,if Customer guess SDIO speed isnt ok ,they can use my programm to test and evaluate,such as RX only,TX only,ECHO(Host Send data-SDIO Function Side Sdio controller back data -Host Receive) or others,my idea use a module to test. but thread lantency can not guarantee,hope list give me idea,i should use tasklet or some good way or idea to test.
B.R
Tommy
* A big.LITTLE MP integration tree has been created to help test the
various patchsets together and it is being used for the TC2
enablement. ARM is going to point all members to this tree instead of
hosting their own.
* (git://git.linaro.org/arm/big.LITTLE/mp.git)
* The ARM Landing Team delivered support for ARM TC2 tile for the
vexpress board. TC2 is a big.LITTLE core with 2 Cortex A15 and 3
Cortex a7 processors).
* The Linaro Power Management group delivered its first submissions of
big.LITTLE MP functionality
- improving hotplug and making it faster
- minimal unoptimised support for MP in ARM (patches accepted by
Russell, Vincent Guittot)
- add support to cpuidle for MP (Daniel Lezcano, patches in review)
- including minimal unoptimised support for MP in ARM,
- support to cpuidle.
- Asymetric ARM support patchset has been accepted upstream.
- Scripts to help emulate a b.L system in absence of HW
* http://git.linaro.org/gitweb?p=people/rob_lee/asymm_cpu_emu.git;a=summary)
* Vincent Guitot has run some tests to measure the improvement of the
cpu plug duration with Tejun's patches. The results are available on
this link:
https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/Hotplug#Workqueue
Other items:
* Thomas Gleixner released v3 of his smpboot patchset that will be the
basis of getting rid of high-overhead per-CPU kthread creation. This
version fixes the UP build error, but introduced an CONFIG_PREEMPT=y
issue in softirq, which I am tracking down.
* Silas Boyd-Wickizer has prototyped a tool based on the Linux
kernel's "sparse" static analysis software to classify the 300+ uses
of for_each_online_cpu(), which will help us work out how to address
any needed changes required to allow CPU hotplug to get rid of
stop_machine().
* Paul McKenney's RCU changes to support CPU hotplug's getting rid of
__stop_machine() are now in -tip slated for 3.6. I do expect that
there are additional implicit RCU dependencies on __stop_machine(),
and will be continuing inspection efforts to track them down.
* A number of CPU-hotplug improvements from a number of contributors
are in -tip queued for 3.6 inclusion.
* Paul McKenney presented a work-in-progress poster session on the
CPU-hotplug efforts (co-authored by Thomas Gleixner and Vincent
Guittot) at ECRTS last week. Well received, particularly the
real-time aspects.
* Paul McKenney will be leading a Linux Plumbers Conference discussion
on this topic as part of Amit's and Vincent's Scheduler
microconference.
* Paul Turner released a new version of his entity load-tracking
patchset that Morten Rasmussen has been basing his scheduler changes
on.
--
David Zinman
Linaro Release Manager | Project Manager
Linaro.org | Open source software for ARM SoCs
Postmortem and lessons learned for Linaro's release 2012.07
https://wiki.linaro.org/Cycles/1207/Release/Review
Highlights and Key Successes
============================
Linaro continues to make progress in big.LITTLE development as the ARM
Landing Team delivers support for ARM TC2 (TestChip2) tile for the
vexpress board. (TC2 is a big.LITTLE core with 2 Cortex A15 and 3
Cortex a7 processors). The Linaro Power Management group delivered
its first submissions of big.LITTLE MP functionality including minimal
unoptimised support for MP in ARM, and support to cpuidle.
git://git.linaro.org/arm/big.LITTLE/mp.git.
The LAVA team released the first boot log from the new big.LITTLE TC2
daughter card on a Versatile Express which is currently located in its
LAVA lab. Linux Linaro updated on top of the latest upstream release
(3.5), which reflects the latest changes and development available at
Linaro, such as big.LITTLE MP.
Postmortem and Lessons Learned
==============================
There was not a single common item that came out of the postmortem
sessions with the teams. The cycle delivery was relatively modest due
to its short length and many engineers on leave.
Please visit https://wiki.linaro.org/Cycles/1207/Release/Review for a
more detailed accounting of cycle issues.
Blueprints
=========
The number of high or essential priority blueprints that missed the cycle:
Android 6 out of 11
Developer Platform 3 out of 9
Infrastructure 1 out of 6
Lava 4 out of 5
Total 14 out of 31
45% of high or essential priority blueprints scheduled for this cycle
were not delivered.
Total blueprints: 27 out of 57 missed the cycle.
High priority missed blueprints recap:
12.05: 19 out of 48, 39%
12.06: 13 out of 31, 42%
12.07: 14 out of 31, 45%
* Not included is data from working groups and landing teams
Source:
https://docs.google.com/a/linaro.org/spreadsheet/ccc?key=0AjEaTwrvj1bidFNwY…
--
David Zinman
Linaro Release Manager | Project Manager
Linaro.org | Open source software for ARM SoCs