On 02/16/2015 11:04 PM, Andy Lutomirski wrote:
On 02/16/2015 03:16 AM, Boaz Harrosh wrote:
>
<>
I really really hope you're kidding.
As a proud (?) owner of a couple of these devices, holy crap the type 12
enumeration mechanism is terrible. Let's see:
1. Some GRUB versions can't handle it. Yes, I got that fixed upstream.
But still.
2. UEFI can't handle it (no real e820 map means no type 12).
3. There's no way to enumerate the layout of the devices, whether
they're working, whether they're non-volatile, who made them, how to
talk to them (presumably via the not-yet-upstreamed i2c_imc driver, but
that's delayed due to a whole different clusterfs*k that I'm slowly
working on).
4. Whose bright idea was it to extend e820, for Pete's sake?
>
> In this patch I name type-12 "NvDIMM-12", but if there
> are positive responses I would like to just name it "NvDIMM",
> For any kind of DDR-X.
How about "evil non-standard device that might be an NVDIMM"?
OK Got it I'll change the name to something like "unkown-12"
or something like that.
>
> Actually is there any reason why I should not submit the final
> version as "NvDIMM" from the get go. Then if the ACPI defines
> another new type-Y Memory we can name both types "NvDIMM", No?
> Please comment
I hope that ACPI *never* defines a new e820 memory type. Enumerate
these things for real.
I kind of like it KISS style. Current code just works and there is nothing
new to write.
[I hope you guys take the lead and not completely re-invent the wheel all
over again]
But I hear you. If there is anything I can help with please feel free ...
To be clear, I have no real objection to fixing the "bug"
in the memory
region code, but adding request_nonstandard_memory_region_exclusive()
might be a better idea.
OK Funny ;-)
Please remember that even the VRAM on an PCIE card is
request_memory_region_exclusive(), or any kind of Vendore specific card
with "memory access". So off course a DDR bus device is
"memory_region"
(It is called /proc/iomem after all)
--Andy
Thanks
Boaz