|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC XEN PATCH v3 06/39] acpi: probe valid PMEM regions via NFIT
On 11/03/17 14:15 +0800, Chao Peng wrote:
>
> > +static void __init acpi_nfit_register_pmem(struct acpi_nfit_desc
> > *desc)
> > +{
> > + struct nfit_spa_desc *spa_desc;
> > + struct nfit_memdev_desc *memdev_desc;
> > + struct acpi_nfit_system_address *spa;
> > + unsigned long smfn, emfn;
> > +
> > + list_for_each_entry(memdev_desc, &desc->memdev_list, link)
> > + {
> > + spa_desc = memdev_desc->spa_desc;
> > +
> > + if ( !spa_desc ||
> > + (memdev_desc->acpi_table->flags &
> > + (ACPI_NFIT_MEM_SAVE_FAILED |
> > ACPI_NFIT_MEM_RESTORE_FAILED |
> > + ACPI_NFIT_MEM_FLUSH_FAILED | ACPI_NFIT_MEM_NOT_ARMED |
> > + ACPI_NFIT_MEM_MAP_FAILED)) )
> > + continue;
>
> If failure is detected, is it reasonable to continue? We can print some
> messages at least I think.
I got something wrong here. I should iterate SPA structures, and check
all memdev in each SPA range. If any memdev contains failure flags,
then skip the whole SPA range and print an error message.
Haozhong
>
> Chao
> > +
> > + spa = spa_desc->acpi_table;
> > + if ( memcmp(spa->range_guid, nfit_spa_pmem_guid, 16) )
> > + continue;
> > + smfn = paddr_to_pfn(spa->address);
> > + emfn = paddr_to_pfn(spa->address + spa->length);
> > + printk(XENLOG_INFO "NFIT: PMEM MFNs 0x%lx - 0x%lx\n", smfn,
> > emfn);
> > + }
> > +}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |