Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-20 Thread Julien Grall

Hi Stefano,

On 10/19/18 10:54 PM, Stefano Stabellini wrote:

On Wed, 17 Oct 2018, Julien Grall wrote:

On 17/10/2018 15:42, Stefano Stabellini wrote:

On Mon, 15 Oct 2018, Julien Grall wrote:

Hi Stefano,

On 05/10/2018 19:47, Stefano Stabellini wrote:

It will be #included by a file in a xen/arch/arm subdirectory.

Signed-off-by: Stefano Stabellini 
---
xen/arch/arm/domain_build.c  |  2 +-
xen/arch/arm/kernel.c|  3 +-
xen/arch/arm/kernel.h| 86

xen/include/asm-arm/kernel.h | 86



There are way to make git diff nicer for code movement. This seems to be
done
by default on 2.11.0. Not sure for older version. What are you using?


Git version 1.9.1 (and guilt 0.35)


A 4 years old git version. May I ask to update to a new git (or see if there
are an option doing the same)? This would help reviewing code movement.


Unfortunately I get the same with 2.7.4:

  xen/arch/arm/domain_build.c  |  2 +-
  xen/arch/arm/kernel.c|  3 +-
  xen/arch/arm/kernel.h| 86 
  xen/include/asm-arm/kernel.h | 86 
  4 files changed, 88 insertions(+), 89 deletions(-)
  delete mode 100644 xen/arch/arm/kernel.h
  create mode 100644 xen/include/asm-arm/kernel.h

FYI the diff between xen/arch/arm/kernel.h and
xen/include/asm-arm/kernel.h is 0, I don't know why git doesn't pick it
up:


D'oh :/. Probably some configurations in your .config. Thank you for 
confirming they are both the same.


Cheers,



stefanos@xsjstefanos:/local/repos/xen$ diff xen/arch/arm/kernel.h 
xen/include/asm-arm/kernel.h
stefanos@xsjstefanos:/local/repos/xen$
stefanos@xsjstefanos:/local/repos/xen$ md5sum xen/arch/arm/kernel.h 
xen/include/asm-arm/kernel.h
06bdad45e665f20f03ffdd2822d8f08e  xen/arch/arm/kernel.h
06bdad45e665f20f03ffdd2822d8f08e  xen/include/asm-arm/kernel.h

I hope that helps.



--
Julien Grall

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

Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-19 Thread Stefano Stabellini
On Wed, 17 Oct 2018, Julien Grall wrote:
> On 17/10/2018 15:42, Stefano Stabellini wrote:
> > On Mon, 15 Oct 2018, Julien Grall wrote:
> > > Hi Stefano,
> > > 
> > > On 05/10/2018 19:47, Stefano Stabellini wrote:
> > > > It will be #included by a file in a xen/arch/arm subdirectory.
> > > > 
> > > > Signed-off-by: Stefano Stabellini 
> > > > ---
> > > >xen/arch/arm/domain_build.c  |  2 +-
> > > >xen/arch/arm/kernel.c|  3 +-
> > > >xen/arch/arm/kernel.h| 86
> > > > 
> > > >xen/include/asm-arm/kernel.h | 86
> > > > 
> > > 
> > > There are way to make git diff nicer for code movement. This seems to be
> > > done
> > > by default on 2.11.0. Not sure for older version. What are you using?
> > 
> > Git version 1.9.1 (and guilt 0.35)
> 
> A 4 years old git version. May I ask to update to a new git (or see if there
> are an option doing the same)? This would help reviewing code movement.

Unfortunately I get the same with 2.7.4:

 xen/arch/arm/domain_build.c  |  2 +-
 xen/arch/arm/kernel.c|  3 +-
 xen/arch/arm/kernel.h| 86 
 xen/include/asm-arm/kernel.h | 86 
 4 files changed, 88 insertions(+), 89 deletions(-)
 delete mode 100644 xen/arch/arm/kernel.h
 create mode 100644 xen/include/asm-arm/kernel.h

FYI the diff between xen/arch/arm/kernel.h and
xen/include/asm-arm/kernel.h is 0, I don't know why git doesn't pick it
up:

stefanos@xsjstefanos:/local/repos/xen$ diff xen/arch/arm/kernel.h 
xen/include/asm-arm/kernel.h
stefanos@xsjstefanos:/local/repos/xen$
stefanos@xsjstefanos:/local/repos/xen$ md5sum xen/arch/arm/kernel.h 
xen/include/asm-arm/kernel.h
06bdad45e665f20f03ffdd2822d8f08e  xen/arch/arm/kernel.h
06bdad45e665f20f03ffdd2822d8f08e  xen/include/asm-arm/kernel.h

I hope that helps.

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

Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-17 Thread Andrew Cooper
On 17/10/18 17:11, Julien Grall wrote:
>
>
> On 17/10/2018 15:42, Stefano Stabellini wrote:
>> On Mon, 15 Oct 2018, Julien Grall wrote:
>>> Hi Stefano,
>>>
>>> On 05/10/2018 19:47, Stefano Stabellini wrote:
 It will be #included by a file in a xen/arch/arm subdirectory.

 Signed-off-by: Stefano Stabellini 
 ---
    xen/arch/arm/domain_build.c  |  2 +-
    xen/arch/arm/kernel.c    |  3 +-
    xen/arch/arm/kernel.h    | 86
 
    xen/include/asm-arm/kernel.h | 86
 
>>>
>>> There are way to make git diff nicer for code movement. This seems
>>> to be done
>>> by default on 2.11.0. Not sure for older version. What are you using?
>>
>> Git version 1.9.1 (and guilt 0.35)
>
> A 4 years old git version. May I ask to update to a new git (or see if
> there are an option doing the same)? This would help reviewing code
> movement.

git config --global diff.renames=copy

~Andrew

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

Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-17 Thread Julien Grall



On 17/10/2018 15:42, Stefano Stabellini wrote:

On Mon, 15 Oct 2018, Julien Grall wrote:

Hi Stefano,

On 05/10/2018 19:47, Stefano Stabellini wrote:

It will be #included by a file in a xen/arch/arm subdirectory.

Signed-off-by: Stefano Stabellini 
---
   xen/arch/arm/domain_build.c  |  2 +-
   xen/arch/arm/kernel.c|  3 +-
   xen/arch/arm/kernel.h| 86

   xen/include/asm-arm/kernel.h | 86



There are way to make git diff nicer for code movement. This seems to be done
by default on 2.11.0. Not sure for older version. What are you using?


Git version 1.9.1 (and guilt 0.35)


A 4 years old git version. May I ask to update to a new git (or see if 
there are an option doing the same)? This would help reviewing code 
movement.


Cheers,

--
Julien Grall

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

Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-17 Thread Stefano Stabellini
On Mon, 15 Oct 2018, Julien Grall wrote:
> Hi Stefano,
> 
> On 05/10/2018 19:47, Stefano Stabellini wrote:
> > It will be #included by a file in a xen/arch/arm subdirectory.
> > 
> > Signed-off-by: Stefano Stabellini 
> > ---
> >   xen/arch/arm/domain_build.c  |  2 +-
> >   xen/arch/arm/kernel.c|  3 +-
> >   xen/arch/arm/kernel.h| 86
> > 
> >   xen/include/asm-arm/kernel.h | 86
> > 
> 
> There are way to make git diff nicer for code movement. This seems to be done
> by default on 2.11.0. Not sure for older version. What are you using?

Git version 1.9.1 (and guilt 0.35)


> >   4 files changed, 88 insertions(+), 89 deletions(-)
> >   delete mode 100644 xen/arch/arm/kernel.h
> >   create mode 100644 xen/include/asm-arm/kernel.h
> > 
> > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> > index 4379538..dc9b46e 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -16,6 +16,7 @@
> >   #include 
> >   #include 
> >   #include 
> > +#include 
> >   #include 
> >   #include 
> >   #include 
> > @@ -24,7 +25,6 @@
> > #include 
> >   #include 
> > -#include "kernel.h"
> > static unsigned int __initdata opt_dom0_max_vcpus;
> >   integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
> > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > index 2239a07..b56aa79 100644
> > --- a/xen/arch/arm/kernel.c
> > +++ b/xen/arch/arm/kernel.c
> > @@ -16,8 +16,7 @@
> >   #include 
> > #include 
> > -
> > -#include "kernel.h"
> > +#include 
> > #define UIMAGE_MAGIC  0x27051956
> >   #define UIMAGE_NMLEN  32
> > diff --git a/xen/arch/arm/kernel.h b/xen/arch/arm/kernel.h
> > deleted file mode 100644
> > index 33f3e72..000
> > --- a/xen/arch/arm/kernel.h
> > +++ /dev/null
> > @@ -1,86 +0,0 @@
> > -/*
> > - * Kernel image loading.
> > - *
> > - * Copyright (C) 2011 Citrix Systems, Inc.
> > - */
> > -#ifndef __ARCH_ARM_KERNEL_H__
> > -#define __ARCH_ARM_KERNEL_H__
> > -
> > -#include 
> > -#include 
> > -
> > -struct kernel_info {
> > -#ifdef CONFIG_ARM_64
> > -enum domain_type type;
> > -#endif
> > -
> > -struct domain *d;
> > -
> > -void *fdt; /* flat device tree */
> > -paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
> > -struct meminfo mem;
> > -
> > -/* kernel entry point */
> > -paddr_t entry;
> > -
> > -/* grant table region */
> > -paddr_t gnttab_start;
> > -paddr_t gnttab_size;
> > -
> > -/* boot blob load addresses */
> > -const struct bootmodule *kernel_bootmodule, *initrd_bootmodule;
> > -const char* cmdline;
> > -paddr_t dtb_paddr;
> > -paddr_t initrd_paddr;
> > -
> > -/* Enable pl011 emulation */
> > -bool vpl011;
> > -
> > -/* loader to use for this kernel */
> > -void (*load)(struct kernel_info *info);
> > -/* loader specific state */
> > -union {
> > -struct {
> > -paddr_t kernel_addr;
> > -paddr_t len;
> > -#ifdef CONFIG_ARM_64
> > -paddr_t text_offset; /* 64-bit Image only */
> > -#endif
> > -paddr_t start; /* 32-bit zImage only */
> > -} zimage;
> > -};
> > -};
> > -
> > -/*
> > - * Probe the kernel to detemine its type and select a loader.
> > - *
> > - * Sets in info:
> > - *  ->type
> > - *  ->load hook, and sets loader specific variables ->zimage
> > - */
> > -int kernel_probe(struct kernel_info *info, const struct dt_device_node
> > *domain);
> > -
> > -/*
> > - * Loads the kernel into guest RAM.
> > - *
> > - * Expects to be set in info when called:
> > - *  ->mem
> > - *  ->fdt
> > - *
> > - * Sets in info:
> > - *  ->entry
> > - *  ->dtb_paddr
> > - *  ->initrd_paddr
> > - */
> > -void kernel_load(struct kernel_info *info);
> > -
> > -#endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
> > -
> > -/*
> > - * Local variables:
> > - * mode: C
> > - * c-file-style: "BSD"
> > - * c-basic-offset: 4
> > - * indent-tabs-mode: nil
> > - * End:
> > - */
> > diff --git a/xen/include/asm-arm/kernel.h b/xen/include/asm-arm/kernel.h
> > new file mode 100644
> > index 000..33f3e72
> > --- /dev/null
> > +++ b/xen/include/asm-arm/kernel.h
> > @@ -0,0 +1,86 @@
> > +/*
> > + * Kernel image loading.
> > + *
> > + * Copyright (C) 2011 Citrix Systems, Inc.
> > + */
> > +#ifndef __ARCH_ARM_KERNEL_H__
> > +#define __ARCH_ARM_KERNEL_H__
> > +
> > +#include 
> > +#include 
> > +
> > +struct kernel_info {
> > +#ifdef CONFIG_ARM_64
> > +enum domain_type type;
> > +#endif
> > +
> > +struct domain *d;
> > +
> > +void *fdt; /* flat device tree */
> > +paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
> > +struct meminfo mem;
> > +
> > +/* kernel entry point */
> > +paddr_t entry;
> > +
> > +/* grant table region */
> > +paddr_t gnttab_start;
> > +paddr_t gnttab_size;
> > +
> > +/* boot blob load addresses */
> > +c

Re: [Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-15 Thread Julien Grall

Hi Stefano,

On 05/10/2018 19:47, Stefano Stabellini wrote:

It will be #included by a file in a xen/arch/arm subdirectory.

Signed-off-by: Stefano Stabellini 
---
  xen/arch/arm/domain_build.c  |  2 +-
  xen/arch/arm/kernel.c|  3 +-
  xen/arch/arm/kernel.h| 86 
  xen/include/asm-arm/kernel.h | 86 


There are way to make git diff nicer for code movement. This seems to be 
done by default on 2.11.0. Not sure for older version. What are you using?



  4 files changed, 88 insertions(+), 89 deletions(-)
  delete mode 100644 xen/arch/arm/kernel.h
  create mode 100644 xen/include/asm-arm/kernel.h

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4379538..dc9b46e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -16,6 +16,7 @@
  #include 
  #include 
  #include 
+#include 
  #include 
  #include 
  #include 
@@ -24,7 +25,6 @@
  
  #include 

  #include 
-#include "kernel.h"
  
  static unsigned int __initdata opt_dom0_max_vcpus;

  integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 2239a07..b56aa79 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -16,8 +16,7 @@
  #include 
  
  #include 

-
-#include "kernel.h"
+#include 
  
  #define UIMAGE_MAGIC  0x27051956

  #define UIMAGE_NMLEN  32
diff --git a/xen/arch/arm/kernel.h b/xen/arch/arm/kernel.h
deleted file mode 100644
index 33f3e72..000
--- a/xen/arch/arm/kernel.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Kernel image loading.
- *
- * Copyright (C) 2011 Citrix Systems, Inc.
- */
-#ifndef __ARCH_ARM_KERNEL_H__
-#define __ARCH_ARM_KERNEL_H__
-
-#include 
-#include 
-
-struct kernel_info {
-#ifdef CONFIG_ARM_64
-enum domain_type type;
-#endif
-
-struct domain *d;
-
-void *fdt; /* flat device tree */
-paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
-struct meminfo mem;
-
-/* kernel entry point */
-paddr_t entry;
-
-/* grant table region */
-paddr_t gnttab_start;
-paddr_t gnttab_size;
-
-/* boot blob load addresses */
-const struct bootmodule *kernel_bootmodule, *initrd_bootmodule;
-const char* cmdline;
-paddr_t dtb_paddr;
-paddr_t initrd_paddr;
-
-/* Enable pl011 emulation */
-bool vpl011;
-
-/* loader to use for this kernel */
-void (*load)(struct kernel_info *info);
-/* loader specific state */
-union {
-struct {
-paddr_t kernel_addr;
-paddr_t len;
-#ifdef CONFIG_ARM_64
-paddr_t text_offset; /* 64-bit Image only */
-#endif
-paddr_t start; /* 32-bit zImage only */
-} zimage;
-};
-};
-
-/*
- * Probe the kernel to detemine its type and select a loader.
- *
- * Sets in info:
- *  ->type
- *  ->load hook, and sets loader specific variables ->zimage
- */
-int kernel_probe(struct kernel_info *info, const struct dt_device_node 
*domain);
-
-/*
- * Loads the kernel into guest RAM.
- *
- * Expects to be set in info when called:
- *  ->mem
- *  ->fdt
- *
- * Sets in info:
- *  ->entry
- *  ->dtb_paddr
- *  ->initrd_paddr
- */
-void kernel_load(struct kernel_info *info);
-
-#endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/include/asm-arm/kernel.h b/xen/include/asm-arm/kernel.h
new file mode 100644
index 000..33f3e72
--- /dev/null
+++ b/xen/include/asm-arm/kernel.h
@@ -0,0 +1,86 @@
+/*
+ * Kernel image loading.
+ *
+ * Copyright (C) 2011 Citrix Systems, Inc.
+ */
+#ifndef __ARCH_ARM_KERNEL_H__
+#define __ARCH_ARM_KERNEL_H__
+
+#include 
+#include 
+
+struct kernel_info {
+#ifdef CONFIG_ARM_64
+enum domain_type type;
+#endif
+
+struct domain *d;
+
+void *fdt; /* flat device tree */
+paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
+struct meminfo mem;
+
+/* kernel entry point */
+paddr_t entry;
+
+/* grant table region */
+paddr_t gnttab_start;
+paddr_t gnttab_size;
+
+/* boot blob load addresses */
+const struct bootmodule *kernel_bootmodule, *initrd_bootmodule;
+const char* cmdline;
+paddr_t dtb_paddr;
+paddr_t initrd_paddr;
+
+/* Enable pl011 emulation */
+bool vpl011;
+
+/* loader to use for this kernel */
+void (*load)(struct kernel_info *info);
+/* loader specific state */
+union {
+struct {
+paddr_t kernel_addr;
+paddr_t len;
+#ifdef CONFIG_ARM_64
+paddr_t text_offset; /* 64-bit Image only */
+#endif
+paddr_t start; /* 32-bit zImage only */
+} zimage;
+};
+};
+
+/*
+ * Probe the kernel to detemine its type and select a loader.
+ *
+ * Sets in info:
+ *  ->type
+ *  ->load hook, and sets loader specific variables ->zimage
+ */
+int kernel_probe(struc

[Xen-devel] [PATCH v4 22/23] xen/arm: move kernel.h to asm-arm/

2018-10-05 Thread Stefano Stabellini
It will be #included by a file in a xen/arch/arm subdirectory.

Signed-off-by: Stefano Stabellini 
---
 xen/arch/arm/domain_build.c  |  2 +-
 xen/arch/arm/kernel.c|  3 +-
 xen/arch/arm/kernel.h| 86 
 xen/include/asm-arm/kernel.h | 86 
 4 files changed, 88 insertions(+), 89 deletions(-)
 delete mode 100644 xen/arch/arm/kernel.h
 create mode 100644 xen/include/asm-arm/kernel.h

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4379538..dc9b46e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -16,6 +16,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -24,7 +25,6 @@
 
 #include 
 #include 
-#include "kernel.h"
 
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 2239a07..b56aa79 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -16,8 +16,7 @@
 #include 
 
 #include 
-
-#include "kernel.h"
+#include 
 
 #define UIMAGE_MAGIC  0x27051956
 #define UIMAGE_NMLEN  32
diff --git a/xen/arch/arm/kernel.h b/xen/arch/arm/kernel.h
deleted file mode 100644
index 33f3e72..000
--- a/xen/arch/arm/kernel.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Kernel image loading.
- *
- * Copyright (C) 2011 Citrix Systems, Inc.
- */
-#ifndef __ARCH_ARM_KERNEL_H__
-#define __ARCH_ARM_KERNEL_H__
-
-#include 
-#include 
-
-struct kernel_info {
-#ifdef CONFIG_ARM_64
-enum domain_type type;
-#endif
-
-struct domain *d;
-
-void *fdt; /* flat device tree */
-paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
-struct meminfo mem;
-
-/* kernel entry point */
-paddr_t entry;
-
-/* grant table region */
-paddr_t gnttab_start;
-paddr_t gnttab_size;
-
-/* boot blob load addresses */
-const struct bootmodule *kernel_bootmodule, *initrd_bootmodule;
-const char* cmdline;
-paddr_t dtb_paddr;
-paddr_t initrd_paddr;
-
-/* Enable pl011 emulation */
-bool vpl011;
-
-/* loader to use for this kernel */
-void (*load)(struct kernel_info *info);
-/* loader specific state */
-union {
-struct {
-paddr_t kernel_addr;
-paddr_t len;
-#ifdef CONFIG_ARM_64
-paddr_t text_offset; /* 64-bit Image only */
-#endif
-paddr_t start; /* 32-bit zImage only */
-} zimage;
-};
-};
-
-/*
- * Probe the kernel to detemine its type and select a loader.
- *
- * Sets in info:
- *  ->type
- *  ->load hook, and sets loader specific variables ->zimage
- */
-int kernel_probe(struct kernel_info *info, const struct dt_device_node 
*domain);
-
-/*
- * Loads the kernel into guest RAM.
- *
- * Expects to be set in info when called:
- *  ->mem
- *  ->fdt
- *
- * Sets in info:
- *  ->entry
- *  ->dtb_paddr
- *  ->initrd_paddr
- */
-void kernel_load(struct kernel_info *info);
-
-#endif /* #ifdef __ARCH_ARM_KERNEL_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/include/asm-arm/kernel.h b/xen/include/asm-arm/kernel.h
new file mode 100644
index 000..33f3e72
--- /dev/null
+++ b/xen/include/asm-arm/kernel.h
@@ -0,0 +1,86 @@
+/*
+ * Kernel image loading.
+ *
+ * Copyright (C) 2011 Citrix Systems, Inc.
+ */
+#ifndef __ARCH_ARM_KERNEL_H__
+#define __ARCH_ARM_KERNEL_H__
+
+#include 
+#include 
+
+struct kernel_info {
+#ifdef CONFIG_ARM_64
+enum domain_type type;
+#endif
+
+struct domain *d;
+
+void *fdt; /* flat device tree */
+paddr_t unassigned_mem; /* RAM not (yet) assigned to a bank */
+struct meminfo mem;
+
+/* kernel entry point */
+paddr_t entry;
+
+/* grant table region */
+paddr_t gnttab_start;
+paddr_t gnttab_size;
+
+/* boot blob load addresses */
+const struct bootmodule *kernel_bootmodule, *initrd_bootmodule;
+const char* cmdline;
+paddr_t dtb_paddr;
+paddr_t initrd_paddr;
+
+/* Enable pl011 emulation */
+bool vpl011;
+
+/* loader to use for this kernel */
+void (*load)(struct kernel_info *info);
+/* loader specific state */
+union {
+struct {
+paddr_t kernel_addr;
+paddr_t len;
+#ifdef CONFIG_ARM_64
+paddr_t text_offset; /* 64-bit Image only */
+#endif
+paddr_t start; /* 32-bit zImage only */
+} zimage;
+};
+};
+
+/*
+ * Probe the kernel to detemine its type and select a loader.
+ *
+ * Sets in info:
+ *  ->type
+ *  ->load hook, and sets loader specific variables ->zimage
+ */
+int kernel_probe(struct kernel_info *info, const struct dt_device_node 
*domain);
+
+/*
+ * Loads the kernel into guest RAM.
+ *
+ * Expects to be set in info when called:
+ *  ->mem
+ *  ->fdt
+ *
+ * Sets in info:
+ *  ->entry
+ *  ->dtb_paddr
+ *  ->initrd_paddr
+