[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage correctly


  • To: Ayan Kumar Halder <ayankuma@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Thu, 8 Dec 2022 23:57:08 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HlNJ2P4uA/LTQ3Mesg/UbZJWANKTp2nuTsa6NOauz9I=; b=QnSl22RlnlDY3CM3oF0crj5DyoKHPEUr1K29G80tjg8O2heiKGMhvtYBkPi95OMUicuNiRBR6H8wleNEebSbsGQ3tuxTkpARYLlYU2CUNmlGhX5rthpvKGbIjNXq92F4OnRATvToGxTxw1yl3dMv451XoyMAskD2Xxxl/YY5yVBtw2b7yrhiZvZ9GY0ByXDRaNSM2hZ2t54ZRUv65iVAVAw0qRkyTDy5zInk7bWOFjkJ336mUAI773s7CZBo6bJi1QEQW7UzYblg76n09Ak8hq2jZm54sDotp495frbtZJC0PV38SwfGaoMBan1HwWQFlkEmahbWxS4eucS4n+RESQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NhMmdSRNba+3gR3BnOZ4uSDZ90ASiIdDALn0OD3f6IdI3pyYypeSZW4F3ViiAmD6WF5/9wzkSIcYJGlE/XkbOljFICA9biYrSxqhshhtqJC6fBaY+iBIkCO4cDpEqIqI8XmbBqu37hidIUI1jaZAbkjLWWCX1jyc9QT3sS3+poy2gWrfPNG5b+1saZJ/5Y346TW1nRTUEndTqABOPAQe7QrjheEcQ7gMh6LRMshp7vKjyYLUaNJ25OgbaZEnUMHzzY2uwxUX4d+qCzH5B/LioDR/cvvOtUt0aXUhx1N77Pqu2BmK+Em86iqocs4fsMSM4pMgFuKEM+vINfnRxhSOCg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, "stefanos@xxxxxxxxxx" <stefanos@xxxxxxxxxx>, "Volodymyr_Babchuk@xxxxxxxx" <Volodymyr_Babchuk@xxxxxxxx>, "bertrand.marquis@xxxxxxx" <bertrand.marquis@xxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
  • Delivery-date: Thu, 08 Dec 2022 23:57:22 +0000
  • Ironport-data: A9a23:zezwxK3zvqJi0GUHavbD5Ytxkn2cJEfYwER7XKvMYLTBsI5bp2AOz GpMXW7VOKuKYGrzfdh1aYiwp0MGvJ+Hn9BlTQs/pC1hF35El5HIVI+TRqvS04F+DeWYFR46s J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmNagQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfHGF+1 8cfFSo3YjuKl7633bXrRMVer5F2RCXrFNt3VnBI6xj8VK5jZK+ZBqLA6JlfwSs6gd1IEbDGf c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvi6KlFQZPLvFabI5fvSjQ8lPk1nej WXB52njWTkRNcCFyCrD+XWp7gPKtXOqCd9JSOLmnhJsqFSh4k8/JRwSbmP4rveIgVSMePlhA WVBr0LCqoB3riRHVOLVVgyxpn2Zuxc0Ut9cVeY97WmlyLfQ4gufLngJSHhGctNOnMo3Tjwj0 hmOhcHkARRmtbHTQnWYnp+dvDq0fysIKGYYIy8NSQcI+fHqpY11hRXKJv5zHajwgtDrFDXYx zGRsDN4l7gVldQM1aiw4RbAmT3EjoPSUgc/6wHTX2SkxgB0foioY8qv81ezxe1cIYiQSF6al GgFn8mY/KYFCpTlvBKKROIBDbS4/cGvOTfXgUNsN5Q5/jHr8HmmFaha7StiPk5vPoABcCXwf U7IkQpL4dlYO37CRahzboGqAsIm15/8BM/lXfDZaNlJSpVpfQrB9yZrDXN8xEjomUko1KQgY 5GSdJ/0CW5AUPw/ij2rW+0azLkngDgkwn/eToz6yBLh1qeCYHmSSvEON17mgv0F0Z5oaT79q 753X/ZmAT0GOAEiSkE7KbIuEG0=
  • Ironport-hdrordr: A9a23:mADnD6v76xHiBVdyj9kJHlNs7skDSdV00zEX/kB9WHVpmwKj5r mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHZCwOZePGqMJgXO0SRNnj11JOJK65kAkoAgAAZ6oCAABkLgIAAHn8AgABXyYA=
  • Thread-topic: [XEN v1] xen/Arm: Probe the entry point address of an uImage correctly

On 08/12/2022 18:42, Ayan Kumar Halder wrote:
> On 08/12/2022 16:53, Julien Grall wrote:
>> On 08/12/2022 15:24, Michal Orzel wrote:
>>> So the first issue with Zephyr is that it does not support zImage
>>> protocol for arm32.
>>> Volodymyr added support only for Image header for arm64 Zephyr.
>>> I guess this is why Ayan, willing to boot it on Xen (arm32), decided
>>> to add u-boot header.
>>
>> If that's the only reason, then I would rather prefer if we go with
>> zImage for a few reasons:
>>  - The zImage protocol has at least some documentation (not perfect)
>> of the expected state of the memory/registers when jumping to the image.
>>  - AFAICT libxl is not (yet) supporting uImage. So this means zephyr
>> cannot be loaded on older Xen releases (not great).
>
> I am exploring for a similar option as Volodymyr ie support zimage
> protocol for arm32.
>
> But for that I need some public documentation that explains the zimage
> header format for arm32.
>
> Refer xen/arch/arm/kernel.c
>
> #define ZIMAGE32_MAGIC_OFFSET 0x24
> #define ZIMAGE32_START_OFFSET 0x28
> #define ZIMAGE32_END_OFFSET   0x2c
> #define ZIMAGE32_HEADER_LEN   0x30
>
> #define ZIMAGE32_MAGIC 0x016f2818
>
> Is this documented anywhere ?

zImage (32) is entirely undocumented.  What exists is from reverse
engineering.  I found this while doing some XTF work, and went right
back to the source - the Linux maintainers.

There are things which Xen does wrong with zImage handling.  But I
haven't had time to transcribe my notes into something more coherent and
submit fixes.

~Andrew

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.