]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
xen: add PV/PVH kernel entry point
authorroyger <royger@FreeBSD.org>
Tue, 11 Mar 2014 10:07:01 +0000 (10:07 +0000)
committerroyger <royger@FreeBSD.org>
Tue, 11 Mar 2014 10:07:01 +0000 (10:07 +0000)
commit5dd05db7ff9533415fbe0d4aedbadb5b115d9509
tree6272bb4211bd811ce759def6aa759b755cd86415
parent27026f4f2afc8cf9ffb8d965b2b70a91fd318239
xen: add PV/PVH kernel entry point

Add the PV/PVH entry point and the low level functions for PVH
early initialization.

Approved by: gibbs
Sponsored by: Citrix Systems R&D

amd64/amd64/genassym.c:
 - Add __FreeBSD_version define to assym.s so it can be used for the
   Xen notes.

amd64/amd64/locore.S:
 - Make bootstack global so it can be used from Xen kernel entry
   point.

amd64/amd64/xen-locore.S:
 - Add Xen notes to the kernel.
 - Add the Xen PV entry point, that is going to call hammer_time_xen.

amd64/include/asmacros.h:
 - Add ELFNOTE macros.

i386/xen/xen_machdep.c:
 - Define HYPERVISOR_start_info for the XEN i386 PV port, which is
   going to be used in some shared code between PV and PVH.

x86/xen/hvm.c:
 - Define HYPERVISOR_start_info for the PVH port.

x86/xen/pv.c:
 - Introduce hammer_time_xen which is going to perform early setup for
   Xen PVH:
    - Setup shared Xen variables start_info, shared_info and
      xen_store.
    - Set guest type.
    - Create initial page tables as FreeBSD expects to find them.
    - Call into native init function (hammer_time).

xen/xen-os.h:
 - Declare HYPERVISOR_start_info.

conf/files.amd64:
 - Add amd64/amd64/locore.S and x86/xen/pv.c to the list of files.
sys/amd64/amd64/genassym.c
sys/amd64/amd64/locore.S
sys/amd64/amd64/xen-locore.S [new file with mode: 0644]
sys/amd64/include/asmacros.h
sys/conf/files.amd64
sys/i386/xen/xen_machdep.c
sys/x86/xen/hvm.c
sys/x86/xen/pv.c [new file with mode: 0644]
sys/xen/xen-os.h