[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] [PATCH v5 17/19] libxc: support for arm64 Image format
On 11/13/2013 06:11 PM, Ian Campbell wrote:
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
v4: actually use v_end and drop unused entry_addr
---
tools/libxc/xc_dom_armzimageloader.c | 85 ++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/tools/libxc/xc_dom_armzimageloader.c
b/tools/libxc/xc_dom_armzimageloader.c
index 4e3f7ae..e6516a1 100644
--- a/tools/libxc/xc_dom_armzimageloader.c
+++ b/tools/libxc/xc_dom_armzimageloader.c
@@ -129,6 +129,83 @@ static int xc_dom_parse_zimage32_kernel(struct
xc_dom_image *dom)
}
/* ------------------------------------------------------------ */
+/* 64-bit zImage Support */
+/* ------------------------------------------------------------ */
+
+#define ZIMAGE64_MAGIC_V0 0x14000008
+#define ZIMAGE64_MAGIC_V1 0x644d5241 /* "ARM\x64" */
+
+/* linux/Documentation/arm64/booting.txt */
+struct zimage64_hdr {
+ uint32_t magic0;
+ uint32_t res0;
+ uint64_t text_offset; /* Image load offset */
+ uint64_t res1;
+ uint64_t res2;
+ /* zImage V1 only from here */
+ uint64_t res3;
+ uint64_t res4;
+ uint64_t res5;
+ uint32_t magic1;
+ uint32_t res6;
+};
+static int xc_dom_probe_zimage64_kernel(struct xc_dom_image *dom)
+{
+ struct zimage64_hdr *zimage;
+
+ if ( dom->kernel_blob == NULL )
+ {
+ xc_dom_panic(dom->xch, XC_INTERNAL_ERROR,
+ "%s: no kernel image loaded", __FUNCTION__);
+ return -EINVAL;
+ }
+
+ if ( dom->kernel_size < sizeof(*zimage) )
+ {
+ xc_dom_printf(dom->xch, "%s: kernel image too small", __FUNCTION__);
What about using DOMPRINTF instead of xc_dom_printf?
In any case:
Acked-by: Julien Grall <julien.grall@xxxxxxxxxx>
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|