tile: support "memmap" boot parameter
authorChris Metcalf <cmetcalf@tilera.com>
Tue, 6 Aug 2013 18:29:59 +0000 (14:29 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Mon, 12 Aug 2013 18:46:43 +0000 (14:46 -0400)
commit77f8c740d1a4947afb7493e7aafdd977e6d7939c
tree67470387bec62f1a5475d194f4b6175dda079eb9
parentbda0f5bad812df076a28fa5e58d86dfe68415251
tile: support "memmap" boot parameter

This change adds support for the "memmap" boot parameter similar
to what x86 provides.  The tile version supports "memmap=1G$5G",
for example, as a way to reserve a 1 GB range starting at PA 5GB.
The memory is reserved via bootmem during startup, and we create a
suitable "struct resource" marked as "Reserved" so you can see the
range reported by /proc/iomem.  Up to 64 such regions can currently
be reserved on the boot command line.

We do not support the x86 options "memmap=nn@ss" (force some memory
to be available at the given address) since it's pointless to try to
have Linux use memory the Tilera hypervisor hasn't given it.  We do
not support "memmap=nn#ss" to add an ACPI range for later processing,
since we don't support ACPI.  We do not support "memmap=exactmap"
since we don't support reading the e820 information from the BIOS
like x86 does.  I did add support for "memmap=nn" (and the synonym
"mem=nn") which cap the highest PA value at "nn"; these are both
just a synonym for the existing tile boot option "maxmem".

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/kernel/setup.c