Re: [Xen-devel] [PATCH v3 00/18] xen: add pvh guest support

2018-10-24 Thread Juergen Gross
On 24/10/2018 22:52, Hans van Kranenburg wrote:
> Hi,
> 
> On 10/24/2018 04:54 PM, Juergen Gross wrote:
>> This patch series adds support for booting Linux as PVH guest.
>>
>> Similar to i386/xen and x86_64/xen platforms the new i386/xenpvh
>> platform grub is booted as a standalone image directly by Xen.
>>
>> For booting Linux kernel it is using the standard linux kernel
>> loader. The only modification of the linux loader is to pass the
>> ACPI RSDP address via boot parameters to the kernel, as that table
>> might not be located at the usual physical address just below 1MB.
>>
>> The related Linux kernel patches have been accepted in the merge
>> window for post 4.19 (4.20 or 5.0, whatever it will be called).
>>
>> Changes in V3:
>> - addressed lots of comments, most by Daniel and some by Roger,
>>   details are mentioned in the individual patches
>>
>> [...]
> 
> Thanks for the hard work.
> 
> FWIW, a test report from an end user.

Thanks for the detailed report!


Juergen

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3 00/18] xen: add pvh guest support

2018-10-24 Thread Hans van Kranenburg
Hi,

On 10/24/2018 04:54 PM, Juergen Gross wrote:
> This patch series adds support for booting Linux as PVH guest.
> 
> Similar to i386/xen and x86_64/xen platforms the new i386/xenpvh
> platform grub is booted as a standalone image directly by Xen.
> 
> For booting Linux kernel it is using the standard linux kernel
> loader. The only modification of the linux loader is to pass the
> ACPI RSDP address via boot parameters to the kernel, as that table
> might not be located at the usual physical address just below 1MB.
> 
> The related Linux kernel patches have been accepted in the merge
> window for post 4.19 (4.20 or 5.0, whatever it will be called).
> 
> Changes in V3:
> - addressed lots of comments, most by Daniel and some by Roger,
>   details are mentioned in the individual patches
> 
> [...]

Thanks for the hard work.

FWIW, a test report from an end user.

I used the following for testing, which is derived from the instructions
Juergen provided earlier this year. Maybe it's useful for someone else
who wants to test.

git clone https://git.savannah.gnu.org/git/grub.git
git checkout -b xen_pvh
[apply patches from emails]
./autogen.sh
rm -rf knorrie/build
mkdir -p knorrie/build
cd knorrie/build
../../configure TARGET_LDFLAGS=-static --target=i386 --with-platform=xen_pvh
make

I just symlinked the test-kernel to vmlinuz-pvh here, so that I could
easily boot back into the regular kernel with pvgrub2, which is
hardcoded to look at /vmlinuz in my case (no grub with menu in the domU
etc).

cat 

[Xen-devel] [PATCH v3 00/18] xen: add pvh guest support

2018-10-24 Thread Juergen Gross
This patch series adds support for booting Linux as PVH guest.

Similar to i386/xen and x86_64/xen platforms the new i386/xenpvh
platform grub is booted as a standalone image directly by Xen.

For booting Linux kernel it is using the standard linux kernel
loader. The only modification of the linux loader is to pass the
ACPI RSDP address via boot parameters to the kernel, as that table
might not be located at the usual physical address just below 1MB.

The related Linux kernel patches have been accepted in the merge
window for post 4.19 (4.20 or 5.0, whatever it will be called).

Changes in V3:
- addressed lots of comments, most by Daniel and some by Roger,
  details are mentioned in the individual patches

Changes in V2:
- extend linux boot protocol version 2.14 to report back the protocol
  version supported by grub2 (needed as there are grub2 downstream
  variants in some distros which clobber data after the setup_header)
- split former patch 4 into 10 patches
- fix memmap handling for >4GB of memory
- added new patch from Hans (thanks for that one)
- addressed most of Daniel's comments (see individual patches)

Hans van Kranenburg (1):
  grub-module-verifier: Ignore all_video for xenpvh

Juergen Gross (17):
  xen: add some xen headers
  loader/linux: support passing rsdp address via boot params
  xen: carve out grant tab initialization into dedicated function
  xen: prepare common code for Xen PVH support
  xen: add some dummy headers for PVH mode
  xen: rearrange xen/init.c to prepare it for Xen PVH mode
  xen: add PVH specific defines to offset.h
  xen: add basic hooks for PVH in current code
  xen: add PVH boot entry code
  xen: setup hypercall page for PVH
  xen: get memory map from hypervisor for PVH
  xen: setup Xen specific data for PVH
  xen: init memory regions for PVH
  xen_pvh: add build runes for grub-core
  xen_pvh: support building a standalone image
  xen_pvh: support grub-install for xen_pvh
  xen_pvh: add support to configure

 configure.ac  |   3 +
 gentpl.py |   4 +-
 grub-core/Makefile.am |  12 +
 grub-core/Makefile.core.def   |  35 ++
 grub-core/kern/i386/tsc.c |   2 +-
 grub-core/kern/i386/xen/pvh.c | 340 +
 grub-core/kern/i386/xen/startup_pvh.S |  81 +
 grub-core/kern/xen/init.c | 101 --
 grub-core/loader/i386/linux.c |   9 +
 grub-core/mmap/i386/pc/mmap.c |   7 -
 include/grub/i386/linux.h |   5 +-
 include/grub/i386/memory.h|   7 +
 include/grub/i386/pc/int.h|  36 +-
 include/grub/i386/pc/int_types.h  |  59 +++
 include/grub/i386/tsc.h   |   2 +-
 include/grub/i386/xen/hypercall.h |   5 +-
 include/grub/i386/xen_pvh/boot.h  |   1 +
 include/grub/i386/xen_pvh/console.h   |   1 +
 include/grub/i386/xen_pvh/int.h   |   1 +
 include/grub/i386/xen_pvh/kernel.h|  30 ++
 include/grub/i386/xen_pvh/memory.h|   1 +
 include/grub/i386/xen_pvh/time.h  |   1 +
 include/grub/kernel.h |   4 +-
 include/grub/offsets.h|  21 +-
 include/grub/util/install.h   |   1 +
 include/grub/util/mkimage.h   |   3 +-
 include/grub/xen.h|   6 +
 include/xen/hvm/hvm_op.h  | 296 +++
 include/xen/hvm/params.h  | 284 +++
 include/xen/hvm/start_info.h  |  98 +
 include/xen/memory.h  | 665 ++
 include/xen/physdev.h | 387 
 include/xen/trace.h   | 339 +
 include/xen/xen.h | 104 --
 util/grub-install-common.c|   1 +
 util/grub-install.c   |   7 +
 util/grub-mkimage32.c |   4 +-
 util/grub-mkimage64.c |   4 +-
 util/grub-mkimagexx.c |  58 ++-
 util/grub-module-verifier.c   |   1 +
 util/mkimage.c|  23 +-
 41 files changed, 2906 insertions(+), 143 deletions(-)
 create mode 100644 grub-core/kern/i386/xen/pvh.c
 create mode 100644 grub-core/kern/i386/xen/startup_pvh.S
 create mode 100644 include/grub/i386/pc/int_types.h
 create mode 100644 include/grub/i386/xen_pvh/boot.h
 create mode 100644 include/grub/i386/xen_pvh/console.h
 create mode 100644 include/grub/i386/xen_pvh/int.h
 create mode 100644 include/grub/i386/xen_pvh/kernel.h
 create mode 100644 include/grub/i386/xen_pvh/memory.h
 create mode 100644 include/grub/i386/xen_pvh/time.h
 create mode 100644 include/xen/hvm/hvm_op.h
 create mode 100644 include/xen/hvm/params.h
 create mode 100644 include/xen/hvm/start_info.h
 create mode 100644 include/xen/memory.h
 create mode 100644 include/xen/physdev.h
 create mode 100644 include/xen/trace.h

-- 
2.16.4


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject