summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-11-24Merge branch 'master' into kvm-smpmarc-kvm-smpMarc Zyngier
2011-11-17KVM-A15: boot-wrapper: fix non-secure SMP bootMarc Zyngier
The boot wrapper suffers from a few problems when it comes to setup the secondary CPUs, as only the boot CPU hits the non-secure setup path. Move the non-secure setup to the common path, taking care of only configuring GICD_IGROUPR0 on secondary CPUs. Also set bit 18 in NSACR to allow the SMP bit to be set in the Auxiliary Control Register (A15 specific). Tested on A15 model v6.1.70. Cc: Christopher Dall <cdall@cs.columbia.edu> Cc: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2011-05-11Use monitor stack to avoid caller-saveChristoffer Dall
Use callee-save by implementing a small stack space in the monitor instead.
2011-05-08Use simpler monitor-hypervisor APIChristoffer Dall
This API allows only setting the HVBAR and switching to non-secure mode: The non-secure privileged mode needs only write access to the HVBAR to configure its own hypervisor state, given that the MMU is disabled in Hyp mode. All callers can switch to non-secure mode, but setting the HVBAR requires VTTBR.VMID==0, otherwise the call simply returns. Overall API convention: - r7 == 0xfffffff0 - r0 the new HVBAR value - r4-r11 are preserved
2011-05-06Set the generic timer frequency (normally done by the firmware).Catalin Marinas
2011-05-06Conditionally set CROSS_COMPILE and use sec. ext.Christoffer Dall
Only set CROSS_COMPILE if it's not already set in the environment and set it to arm-unknown-eabi- per default. Set "arch_extension sec" in boot.S code to allow newer compilers to accept the smc #0 instruction.
2011-05-05Change the Hyp API to prepare for simpler versionChristoffer Dall
Move the writing of the HVBAR to the top, so we can simply strip off the rest afterwards.
2011-05-05Make variable for kernel source locationChristoffer Dall
2011-05-01Add functionality to initialize the Hyp_SP and HVBARChristoffer Dall
These registers must also be initialized by a hypervisor for it to run code in HYP mode.
2011-04-28Allow co-processor access from non-secure modeChristoffer Dall
2011-04-28Set interrupts to be non-secureChristoffer Dall
2011-04-19Init GIC priority mask field to 0x80 in secure modeChristoffer Dall
2011-04-19Remove API test codeChristoffer Dall
2011-04-18Add more built files to .gitignoreChristoffer Dall
2011-04-07First shot at SMC hypervisor APIChristoffer Dall
SMC API is this: - r7: monitor call number - r0-r3: arguments - r0-r1: return value - r4-r11: preserved SMC Permissions: - All calls except switching to non-secure mode, requires VTTBR.VMID == 0, otherwise the calls are essentially no-ops. SMC API numbers are this: - 0xffffffff: Switch to non-secure mode, SCR is: 0x31 (controlled by hypervisor to let SMC pass through hyp mode) - 0xfffffff0: Read HTTBR (same order as mrrc r0,r1) - 0xfffffff1: Write HTTBR (same order as mcrr r0,r1) - 0xfffffff2: Read HTCR - 0xfffffff3: Write HTCR - 0xfffffff4: Read HMAIR0 - 0xfffffff5: Write HMAIR0 - 0xfffffff6: Read HMAIR1 - 0xfffffff7: Write HMAIR1 - 0xfffffff8: Read HSCTLR - 0xfffffff9: Write HSCTLR
2011-03-28Change the license to BSD (required by ARM's legal team).Catalin Marinas
2011-03-17Fix change to non-secure modeChristoffer Dall
Use 0xf0000000 instead of 0x0 as the monitor base address.
2011-03-17First attempt to change to non-secure mode - buggyChristoffer Dall
Warning: This doesn't yet work.
2011-03-17NFS boot support for A15 without initrdChristoffer Dall
2011-04-04Makefile and path changesChristoffer Dall
2010-12-16Add support for Versatile Express (new memory map).Catalin Marinas
2010-03-25Added support for MPSCatalin Marinas
2010-01-08Add explicit support for SMPCatalin Marinas
2009-12-17Modifications to pass the USE_INITRD and THUMB2_KERNEL options via topCatalin Marinas
Makefile.
2009-12-17Deleted original model.lds (it will be autogenerated).Catalin Marinas
2009-12-17Created model.lds.inCatalin Marinas
2009-12-08Add some ifdefs in boot.S for easy changing between NFS and INITRDCatalin Marinas
configurations.
2009-12-03Set the default PHYS_OFFSET to 0x70000000Catalin Marinas
2009-12-03Add support for SMP booting following the RealView Boot Monitor bootingCatalin Marinas
protocol but without WFI since the GIC isn't set up.
2009-12-03Added .gitignoreCatalin Marinas
2009-12-03Modified the boot wrapper to use initramfs (cpio file) and also pass aCatalin Marinas
kernel command line.
2009-12-02Initial version.Catalin Marinas