pc-bios: s390x: Fix bootmap.c zipl component entry data handling
commit4906a4e41c29b65ad350736e0a989e5cf3387baf
authorJanosch Frank <frankja@linux.ibm.com>
Tue, 6 Oct 2020 09:42:46 +0000 (6 05:42 -0400)
committerThomas Huth <thuth@redhat.com>
Tue, 6 Oct 2020 17:57:35 +0000 (6 19:57 +0200)
tree48d833e7e03d51757afb8002ba15dede53339a38
parent468184ec9024f4f7b55247f70ec57554e8a500d7
pc-bios: s390x: Fix bootmap.c zipl component entry data handling

The two main types of zipl component entries are execute and
load/data. The last member of the component entry struct therefore
denotes either a PSW or an address. Let's make this a bit more clear
by introducing a union and cleaning up the code that uses that struct
member.

The execute type component entries written by zipl contain short PSWs,
not addresses. Let's mask them and only pass the address part to
jump_to_IPL_code(uint64_t address) because it expects an address as
visible by the name of the argument.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201006094249.50640-2-frankja@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
pc-bios/s390-ccw/bootmap.c
pc-bios/s390-ccw/bootmap.h