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

Re: [PATCH v5 3/4] xen/ppc: Implement early serial printk on pseries



On 7/26/23 10:32 AM, Jan Beulich wrote:
> On 24.07.2023 17:06, Shawn Anastasio wrote:
>> On 7/24/23 7:40 AM, Jan Beulich wrote:
>>> On 21.07.2023 19:02, Shawn Anastasio wrote:
>>>> On typical Power VMs (e.g. QEMU's -M pseries), a variety of services
>>>> including an early serial console are provided by Open Firmware.
>>>> Implement the required interfaces to call into Open Firmware and write
>>>> to the serial console.
>>>>
>>>> Since Open Firmware runs in 32-bit Big Endian mode and Xen runs in
>>>> 64-bit Little Endian mode, a thunk is required to save/restore
>>>> any potentially-clobbered registers as well as to perform the
>>>> required endianness switch. Thankfully, linux already has such
>>>> a routine, which was imported into ppc64/of-call.S.
>>>>
>>>> Support for bare metal (PowerNV) will be implemented in a future
>>>> patch.
>>>>
>>>> Signed-off-by: Shawn Anastasio <sanastasio@xxxxxxxxxxxxxxxxxxxxx>
>>>
>>> While I've committed the earlier two patches, I had to back out this
>>> one. In my environment (gcc13) the build fails due an unresolved
>>> reference to memset() out of boot-of.c (supposedly from of_call()).
>>
>> Does removing the `{ 0 }` initializer to `struct of_service s` on line
>> 43 resolve this?
> 
> Yes, that's what's causing the call (and removing, whether or not correct,
> helps).

Thanks for confirming. Removing it should be fine since the code
manually initializes all of the other fields of the struct. The only
behavioral difference is that the members of `ofs_args` at indices >=
nargs would be left uninitialized. This shouldn't be an issue though
since we're guarding reads of the array on `nargs` and `nrets` and thus
only read explicitly initialized values (and of course, firmware would
do the same).

Naturally we can't avoid memset calls forever. I have lib/ building
locally, but if we could get this series in without having to make those
changes here that'd be great.

> Jan

Thanks,
Shawn




 


Rackspace

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