[RFC][V2] aarch64: basic Xen support#842
Merged
nyh merged 10 commits intocloudius-systems:masterfrom Jan 24, 2017
Merged
Conversation
Add Linux-resembling header at the begining of image, so that it can be recognized and loaded by Xen ARM64 image loader, and probably some other loaders too. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Modify HYPERVISOR_console_write() interface to accept const *char as argument, so it is compliant with console::console_driver::write() interface. Xen does not mangle input buffer upon CONSOLEIO_write hypercall. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
__ASSEMBLY__ definition is used extensively throughout bsd/ tree so make ASFLAGS compatible with its usage. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
Continue boot if PCI host not found in DTB, as not every platform provides it, namely non-x86 Xen guests doesn't seem to support PV PCI yet. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
Start device range from 0x3000000 so that aarch64 Xen guest can map gic. This seems to be lowest address required. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com> Reviewed-by: Nadav Har'El <nyh@scylladb.com>
Primitive driver that uses HYPERVISOR_console_io hypercall to provide early console. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
Xen crafts and provides a DTB with special node by which we can know which hypervisor we're using and load corresponding drivers. is_xen() macro introduced for future use. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
In case Xen is detected use xenconsole driver for output, otherwise fallback to pl011 for backwards compatibility. Signed-off-by: Sergiy Kibrik <sergiy.kibrik@globallogic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
hi OSv developers,
Here let me present you with second version of patches to allow OSv kernel to be loaded
under Xen hypervisor on AARCH64 platform.
previous discussion is here:
https://groups.google.com/forum/#!topic/osv-dev/15G00wWkB-s
Changes since initial RFC version:
This is basic stuff, which allows to initialise kernel and see log messages.
No SMP support yet, no heavy PV drivers yet and no application can be run.
Verified on Renesas R-Car board [1] and on qemu-aarch64 (for not to break anything)
[1] http://elinux.org/R-Car/Boards/Salvator-X