Message ID | 20240116192611.41112-6-eliasely@amazon.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Remove the directmap | expand |
On 16.01.2024 20:25, Elias El Yandouzi wrote: > --- a/xen/common/numa.c > +++ b/xen/common/numa.c > @@ -424,13 +424,14 @@ static int __init populate_memnodemap(const struct node *nodes, > static int __init allocate_cachealigned_memnodemap(void) > { > unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap)); > - unsigned long mfn = mfn_x(alloc_boot_pages(size, 1)); > + mfn_t mfn = alloc_boot_pages(size, 1); > > - memnodemap = mfn_to_virt(mfn); > - mfn <<= PAGE_SHIFT; > + memnodemap = vmap_contig(mfn, size); > + if ( !memnodemap ) > + panic("Unable to map the ACPI SLIT. Retry with numa=off"); Looks like a copy-and-paste mistake from the next patch (which I expect to have a similar panic(), with the text then actually applicable). With this adjusted (could also be done while committing): Reviewed-by: Jan Beulich <jbeulich@suse.com> Jan
diff --git a/xen/common/numa.c b/xen/common/numa.c index f454c4d894..ef13ec2255 100644 --- a/xen/common/numa.c +++ b/xen/common/numa.c @@ -424,13 +424,14 @@ static int __init populate_memnodemap(const struct node *nodes, static int __init allocate_cachealigned_memnodemap(void) { unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap)); - unsigned long mfn = mfn_x(alloc_boot_pages(size, 1)); + mfn_t mfn = alloc_boot_pages(size, 1); - memnodemap = mfn_to_virt(mfn); - mfn <<= PAGE_SHIFT; + memnodemap = vmap_contig(mfn, size); + if ( !memnodemap ) + panic("Unable to map the ACPI SLIT. Retry with numa=off"); size <<= PAGE_SHIFT; printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n", - mfn, mfn + size); + mfn_to_maddr(mfn), mfn_to_maddr(mfn) + size); memnodemapsize = size / sizeof(*memnodemap); return 0;