[Skiboot] [PATCH 0/7 v2] support for multiple instances of reserved memory ranges

Jeremy Kerr jk at ozlabs.org
Fri Jul 24 16:50:57 AEST 2015


Hi all,

This change allows opal-prd to be aware of multiple PRD ranges with the
same name, but different "instance" identifiers. This is required for
PRD on multiple-socket machines. These instance numbers are treated as
opaque by skiboot & opal-prd.

Patch 1 adds support to consume the instance data in opal-prd; this is
done in a backwards-compatible manner, and will continue to work on old
skiboot & hostboot (hence being patch 1).

We then implement support in skiboot to consume node-style memory
reservations from the hostboot device tree. Hostboot will use these to
convey extra information about the PRD reserved ranges (specifically, an
instance number for ranges in multi-socket machines).

If node-style reservations are found, we use this instead of the
property-style ones (reserved-names and reserved-ranges).

The final patch stops skiboot from reserving the homer areas if they're
already present, to allow hostboot to reserve these ranges (and provide
the extra instance data for them) instead.

Questions/comments/etc welcome.

Cheers,


Jeremy

v2:
 - ensure we drop reserved names/ranges properties
 - keep hostservices_interface version at 1
 - don't re-reserve OCC common area
 - include instance numbers in get_reserved_mem debug logs
 - fully initialise struct prd_range

---
Jeremy Kerr (7):
      external/opal-prd: Allow instance numbers for PRD ranges
      core: Add dt_copy
      core/mem_region: Move reserved-ranges parsing into a separate function
      core/mem_region: allow pre-existing reserved-memory nodes
      core/mem_region: parse node-style reserved memory
      core/mem_region: Add mem_range_is_reserved()
      hw/homer: Don't re-reserve homer ranges



More information about the Skiboot mailing list