• Michael Ellerman's avatar
    ppc64 iSeries: Update create_pte_mapping to replace iSeries_bolt_kernel() · 4c55130b
    Michael Ellerman authored
    early_setup() calls htab_initialize() which is similar, but not identical
    to iSeries_bolt_kernel().
    
    On iSeries the Hypervisor has already inserted some ptes for us, and we
    simply have to detect that and bolt them. iSeries_hpte_bolt_or_insert()
    implements that logic.
    
    For the case of a non-existing pte we just call iSeries_hpte_insert(). This
    appears to work, although it's not entirely equivalent to the old code in
    iSeries_make_pte() which panicked if we got a secondary slot. Not sure if
    that's important.
    
    Finally we call iSeries_hpte_bolt_or_insert() from create_pte_mapping(),
    which is called from htab_initialize() for each lmb region.
    Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
    Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
    4c55130b
hash_utils.c 10.5 KB