Mailing List Archive

[PATCH v4 1/5] Revert "xen/x86: bzImage parse kernel_alignment"
A new ELF note will specify the alignment for a relocatable PVH kernel.
ELF notes are suitable for vmlinux and other ELF files, so this
Linux-specific bzImage parsing in unnecessary.

This reverts commit c44cac229067faeec8f49247d1cf281723ac2d40.

Signed-off-by: Jason Andryuk <jason.andryuk@amd.com>
---
xen/arch/x86/bzimage.c | 4 +---
xen/arch/x86/hvm/dom0_build.c | 4 +---
xen/arch/x86/include/asm/bzimage.h | 2 +-
xen/arch/x86/pv/dom0_build.c | 2 +-
4 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/bzimage.c b/xen/arch/x86/bzimage.c
index 0f4cfc49f7..ac4fd428be 100644
--- a/xen/arch/x86/bzimage.c
+++ b/xen/arch/x86/bzimage.c
@@ -105,7 +105,7 @@ unsigned long __init bzimage_headroom(void *image_start,
}

int __init bzimage_parse(void *image_base, void **image_start,
- unsigned long *image_len, unsigned int *align)
+ unsigned long *image_len)
{
struct setup_header *hdr = (struct setup_header *)(*image_start);
int err = bzimage_check(hdr, *image_len);
@@ -118,8 +118,6 @@ int __init bzimage_parse(void *image_base, void **image_start,
{
*image_start += (hdr->setup_sects + 1) * 512 + hdr->payload_offset;
*image_len = hdr->payload_length;
- if ( align )
- *align = hdr->kernel_alignment;
}

if ( elf_is_elfbinary(*image_start, *image_len) )
diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index bbae8a5645..0ceda4140b 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -548,14 +548,12 @@ static int __init pvh_load_kernel(struct domain *d, const module_t *image,
struct elf_binary elf;
struct elf_dom_parms parms;
paddr_t last_addr;
- unsigned int align = 0;
struct hvm_start_info start_info = { 0 };
struct hvm_modlist_entry mod = { 0 };
struct vcpu *v = d->vcpu[0];
int rc;

- rc = bzimage_parse(image_base, &image_start, &image_len, &align);
- if ( rc != 0 )
+ if ( (rc = bzimage_parse(image_base, &image_start, &image_len)) != 0 )
{
printk("Error trying to detect bz compressed kernel\n");
return rc;
diff --git a/xen/arch/x86/include/asm/bzimage.h b/xen/arch/x86/include/asm/bzimage.h
index 2e04f5cc7b..7ed69d3910 100644
--- a/xen/arch/x86/include/asm/bzimage.h
+++ b/xen/arch/x86/include/asm/bzimage.h
@@ -6,6 +6,6 @@
unsigned long bzimage_headroom(void *image_start, unsigned long image_length);

int bzimage_parse(void *image_base, void **image_start,
- unsigned long *image_len, unsigned int *align);
+ unsigned long *image_len);

#endif /* __X86_BZIMAGE_H__ */
diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index e9fa8a9a82..d8043fa58a 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -416,7 +416,7 @@ int __init dom0_construct_pv(struct domain *d,

d->max_pages = ~0U;

- if ( (rc = bzimage_parse(image_base, &image_start, &image_len, NULL)) != 0 )
+ if ( (rc = bzimage_parse(image_base, &image_start, &image_len)) != 0 )
return rc;

if ( (rc = elf_init(&elf, image_start, image_len)) != 0 )
--
2.44.0