GitHub PushEvent at 2014-10-06 20:36:53
Repository: jailhouse
Actor: jan-kiszka
Payload: {"shas":[["7f3b14ab6145c783b6add6e1575314592d580705","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","tooling: Fix make problems with run-kbuild macro\n\nSwitch to a more robust pattern for invoking kbuild. The indirection via\nthe macro caused too many issues, up to no execution at all.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>\nTested-by: Santosh Shukla <santosh.shukla@linaro.org>","Jan Kiszka",false],["291a323d936cf6d706a76b2c29ba1e6cc20a947a","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","tools: Fix CPU listing in \"cell list\"\n\nThis fixes the output of patterns like \"0,3\", i.e. individual CPUs with\na gap in between them.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["da486d5f61f357fc0b90f567d5c1ee76ebd67fc1","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","driver: Use hypervisor's version.h\n\nLet the driver module depend on the hypervisor subdir. This allows us to\nreuse the version.h generated by the hypervisor build also for the\ndriver. They were identical.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["3bcaf16b92da3edce3966787be00c5a75287e4bf","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","core: config.h is expected in the $(obj), not $(src)\n\nCosmetic change, both are identical in practice (no out-of-tree build\npossible for out-of-tree modules right now).\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["3dc74592ddfa35543499f014142b67d413ab6b53","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","core: Move cpu_suspended setting into arch_panic_stop\n\ncpu_suspended is an x86-specific control, nothing every arch needs to\nprovide. Leave it up to the arch how to set the CPU's state on panic.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["604517c6f4aee8558232ab71ef36127c4c435dc0","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","core: Refactor struct mmio_access to mmio_instruction\n\nThe current mmio_access rather contains information about the accessing\ninstruction. ARM's mmio_access hold data about the actual access. To\nclarify the meaning and release the namespace, rework the preexisting\nstruct to mmio_instruction.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["a1ff3dc40b5e20baffb2903585d1b6e48f644c1b","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","core: Move mmio_parse and struct mmio_instruction into arch header\n\nThere will be no need for and implementation of this service outside of\nx86 in the foreseeable future. So make it arch-private until we have\nmore users.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["991abbe57ad829001b0770f8f65f1b4603cbaaee","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","configs: Adjust QEMU config to changes in AHCI model\n\nThe cap location was adjusted to comply with the spec.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",false],["132803509575ab26a158ccece6b1d1da1d5b1742","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","core: Extend poor man's config system to makefiles\n\nGenerate hypervisor/config.mk from the optional config.h the user may\nleave in hypervisor/include/jailhouse. Only boolean switches of the form\n\n    #define CONFIG_OPTION 1\n\nare supported and will be translated to CONFIG_OPTION=y. Any other line\nin config.h is ignored. The kernel's CONFIG variables a unset to remove\nany collision possibilities. The architecture makefile can then include\nthe config.mk via\n\n    include $(CONFIG_MK)\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",true],["c9a0c1d4d30278eb0ec86cb48b8eee63d7c1b089","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: build with virtualisation support\n\nMost armv7-compatible toolchains still need an additional flag to\nrecognise instructions such as ERET or an MSR to banked registers.\nThis patch allows to includes the virt flag in files that require it.\nIt also forces the hypervisor image to only use the ARM instruction\nset.\nSupport for Thumb2 hypervisor and kernel will be added later.\nGuests should still be able to run in Thumb2, as long as they allow\nto be entered in ARM mode.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["88f3ea60590e8825f1b70c0c2cd20318ba6ba8d7","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: hypervisor entry point\n\nEach CPU saves its general-purpose registers on the stack, switches to\nthe hypervisor stack and saves the return context in the per-cpu datas.\nAfter that, it jumps to the core entry which will do the necessary\ninitialisation to setup EL2.\n\nClusters are not supported yet: they will require the entry code to\nfetch the total number of possible CPUs from the header, in order to\ndeduce an efficient base address for the per-cpu datas.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["2d14a3cee78f6d2241f0eb893c57194c512eff21","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: provide an interface for accessing system registers\n\nTo avoid using inline asm directly in the setup and control code, to\nprovide clear names for system registers, and to allow easier\nrefactoring for a future arm64 port, this patch introduces some useful\nmacros for accessing the core system registers.\n\nFor a 64bit port, a couple of wrappers would still need to be added to\nmodify system registers that are of different sizes on the two\narchitectures (e.g. HCR)\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["e19e414713620a1bb81f2b8927eb0bb1b989ef48","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: implement some base functions\n\nmemcpy and phys_processor_id implementations are required before going\nany further. This patch introduces a very trivial version of those\nfunctions.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["7ecf8a2bef7ebb42bd2598008e3a810bd2eb3286","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: add SMP barriers and utilities\n\nThis patch adds a few simple macros that allow the C code to use\nspecific ARM instructions.\nThe memory_barrier helper is only used to commit the changes of cpu_init\non the last core before allowing the others to return to EL1.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["e8eb2a751373612add4b1767dc08eaa553f2e4d6","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: spinlock implementation\n\nInstead of attempting to reinvent the wheel, this patch copies the\nticket spinlock implementation from Linux, that will allow for optimal\nlocking between heterogeneous cores.\nIt contains a few subtleties, such as a preload instruction that ensures\nthat the cache line is immediately loaded in exclusive state.\n\nBig endian is not supported for the moment, but as soon as we have a\nmacro that declares the use of this mode, the change will be trivial\nhere.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["1239380e41d8c5777c7b5dc4afed12d3f6a4b1ec","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: implement atomic bitops\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["a0c70b5941d633825f3cf4ae59a3357f288fa6dd","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: implement the debug routines for the pl011 UART\n\nThis patch uses the kernel config to detect which UART is available.\nCurrently, only the vexpress platform is implemented.\nIt assumes that the first UART uses the default, fixed VA->PA mapping\nset by the kernel for the vexpress low-level printk.\n\nThis is far from ideal: a clean implementation would either need to\ncommunicate the uart address from the driver, or postpone all debug\nprintks until the hypervisor is able to use its own mappings, as linux\ndoes when earlyprintk is disabled.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\n[Jan: removed kernel config dependencies, switched to mmio accessors]\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["9b590f115a4a2383af684e1e2aa29ee5ee5158d4","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: hyp vectors installation\n\nThe EL2 installation is done in two times:\n- First, an HVC is issued to jump into the kernel stub and install the\n  bootstrap vectors.\n- Then, a second HVC allows the setup code to switch to physical address\n  space.\nExecution continues at EL2. Once the whole initialisation is done, the\nfinal vectors are installed, and arch_cpu_activate_vmm will do an ERET\nto jump back to the kernel, which is now a guest.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true],["bc90ec3a4b8f4c791a5774f4a0a138b6c5d7d738","a5b45c9af271d077f30d36aa7d9b988eed9d56eb@siemens.com","arm: Implement per-cpu accessors\n\nTPIDR_EL2 already holds a reference to the current per_cpu data\nstructure. Return it from this_cpu_data and build the other accessors on\ntop.\n\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jan Kiszka",true],["584893df89486c458cc5d890f883b9050eca2972","cd827698b6b0b149223c6bff0eb26f50ff43865f@arm.com","arm: implement the paging callbacks\n\nThis patch adds the ability to implement EL2 stage-1 and EL1 stage-2\nMMU, using the struct paging defined by the core.\nIn the future, it may be useful to separate the stage1 and stage2\nfunctions, like the x86 implementation, in order to use less translation\nlevels for the IPA->PA translation. For the moment, we keep the\nhv_paging = arm_paging definition.\n\nSigned-off-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>\n[Jan: adjustments to recent paging subsystem changes]\nSigned-off-by: Jan Kiszka <jan.kiszka@siemens.com>","Jean-Philippe Brucker",true]],"size":66,"ref":"refs/heads/wip/arm","head":"314d2191ff27e64a3db8b85ca5010b807e7f0355"}