[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 3/3] x86/PVH: Support relocatable dom0 kernels
- To: Jason Andryuk <jason.andryuk@xxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Mon, 25 Mar 2024 08:46:01 +0100
- Autocrypt: addr=jbeulich@xxxxxxxx; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
- Delivery-date: Mon, 25 Mar 2024 07:46:08 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 22.03.2024 15:24, Jason Andryuk wrote:
> On 2024-03-21 09:45, Jason Andryuk wrote:
>> On 2024-03-20 10:39, Jan Beulich wrote:
>>> On 19.03.2024 21:58, Jason Andryuk wrote:
>
>>>> @@ -536,6 +565,10 @@ elf_errorstatus elf_xen_parse(struct elf_binary
>>>> *elf,
>>>> parms->p2m_base = UNSET_ADDR;
>>>> parms->elf_paddr_offset = UNSET_ADDR;
>>>> parms->phys_entry = UNSET_ADDR32;
>>>> + parms->phys_min = 0;
>>>> + parms->phys_max = 0xffffffff;
>>>> + parms->phys_align = 0x200000;
>>>
>>> I think this wants to be MB(2) (requiring a pre-patch to centralize MB()
>>> in the tool stack to tools/include/xen-tools/common-macros.h). And I
>>> further think this needs to be an arch-specific constant, even if right
>>> now the note is expected to be present only for x86. Which then also
>>> needs saying ...
>
> Are you thinking something like the following in libelf-dominfo.c:
>
> #define X86_PHYS_ALIGN_DEFAULT MB(2)
> #define X86_PHYS_MAX_DEFAULT (GB(4) - 1)
>
> and setting as:
> parms->phys_max = X86_PHYS_MAX_DEFAULT;
> parms->phys_align = X86_PHYS_ALIGN_DEFAULT;
>
> libelf is arch neutral, so there isn't a natural place to introduce
> arch-specific defines. Or were you looking for each arch to set it? We
> only care about x86 right now, so we can do something like:
>
> #if x86
> #define ARCH_PHYS_MAX_DEFAULT (GB(4) - 1)
> #define ARCH_PHYS_ALIGN_DEFAULT MB(2)
> #else
> #define ARCH_PHYS_MAX_DEFAULT 0
> #define ARCH_PHYS_ALIGN_DEFAULT 0
> #endif
More like the latter. The former only if the phys_* fields themselves were
to also become x86-only.
As you say, libelf in its present shape doesn't easily lend itself to such
arch-specifics.
Jan
|