Feel free to add my Acked-by. Dave, are you OK with the change in where the reserve call is made?
Thx On Fri, Jun 9, 2023, 11:08 AM Juergen Gross <jgr...@suse.com> wrote: > On 05.06.23 12:28, Ross Lagerwall wrote: > > To facilitate diskless iSCSI boot, the firmware can place a table of > > configuration details in memory called the iBFT. The presence of this > > table is not specified, nor is the precise location (and it's not in the > > E820) so the kernel has to search for a magic marker to find it. > > > > When running under Xen, Dom 0 does not have access to the entire host's > > memory, only certain regions which are identity-mapped which means that > > the pseudo-physical address in Dom0 == real host physical address. > > Add the iBFT search bounds as a reserved region which causes it to be > > identity-mapped in xen_set_identity_and_remap_chunk() which allows Dom0 > > access to the specific physical memory to correctly search for the iBFT > > magic marker (and later access the full table). > > > > This necessitates moving the call to reserve_ibft_region() somewhat > > later so that it is called after e820__memory_setup() which is when the > > Xen identity mapping adjustments are applied. The precise location of > > the call is not too important so I've put it alongside dmi_setup() which > > does similar scanning of memory for configuration tables. > > > > Finally in the iBFT find code, instead of using isa_bus_to_virt() which > > doesn't do the right thing under Xen, use early_memremap() like the > > dmi_setup() code does. > > > > The result of these changes is that it is possible to boot a diskless > > Xen + Dom0 running off an iSCSI disk whereas previously it would fail to > > find the iBFT and consequently, the iSCSI root disk. > > > > Signed-off-by: Ross Lagerwall <ross.lagerw...@citrix.com> > > Reviewed-by: Juergen Gross <jgr...@suse.com> > > > Juergen > >