#define OPAL_INT_EOI 124
#define OPAL_INT_SET_MFRR 125
#define OPAL_PCI_TCE_KILL 126
-#define OPAL_NMMU_SET_PTCR 127
-#define OPAL_LAST 127
+#define OPAL_LAST 126
/* Device tree flags */
int64_t opal_rm_pci_tce_kill(uint64_t phb_id, uint32_t kill_type,
uint32_t pe_num, uint32_t tce_size,
uint64_t dma_addr, uint32_t npages);
-int64_t opal_nmmu_set_ptcr(uint64_t chip_id, uint64_t ptcr);
/* Internal functions */
extern int early_init_dt_scan_opal(unsigned long node, const char *uname,
+++ /dev/null
-/*
- * Copyright 2017 IBM Corp.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _ASM_POWERNV_H
-#define _ASM_POWERNV_H
-
-#ifdef CONFIG_PPC_POWERNV
-extern void powernv_set_nmmu_ptcr(unsigned long ptcr);
-#else
-static inline void powernv_set_nmmu_ptcr(unsigned long ptcr) { }
-#endif
-
-#endif /* _ASM_POWERNV_H */
#include <asm/machdep.h>
#include <asm/mmu.h>
#include <asm/firmware.h>
-#include <asm/powernv.h>
#include <trace/events/thp.h>
lpcr = mfspr(SPRN_LPCR);
mtspr(SPRN_LPCR, lpcr & ~LPCR_UPRT);
mtspr(SPRN_PTCR, 0);
- powernv_set_nmmu_ptcr(0);
radix__flush_tlb_all();
}
}
#include <asm/sections.h>
#include <asm/firmware.h>
#include <asm/dma.h>
-#include <asm/powernv.h>
#include "mmu_decl.h"
void __init mmu_partition_table_init(void)
{
unsigned long patb_size = 1UL << PATB_SIZE_SHIFT;
- unsigned long ptcr;
BUILD_BUG_ON_MSG((PATB_SIZE_SHIFT > 36), "Partition table size too large.");
partition_tb = __va(memblock_alloc_base(patb_size, patb_size,
* update partition table control register,
* 64 K size.
*/
- ptcr = __pa(partition_tb) | (PATB_SIZE_SHIFT - 12);
- mtspr(SPRN_PTCR, ptcr);
- powernv_set_nmmu_ptcr(ptcr);
+ mtspr(SPRN_PTCR, __pa(partition_tb) | (PATB_SIZE_SHIFT - 12));
}
void mmu_partition_table_set_entry(unsigned int lpid, unsigned long dw0,
OPAL_CALL(opal_int_set_mfrr, OPAL_INT_SET_MFRR);
OPAL_CALL_REAL(opal_rm_int_set_mfrr, OPAL_INT_SET_MFRR);
OPAL_CALL(opal_pci_tce_kill, OPAL_PCI_TCE_KILL);
-OPAL_CALL(opal_nmmu_set_ptcr, OPAL_NMMU_SET_PTCR);
OPAL_CALL_REAL(opal_rm_pci_tce_kill, OPAL_PCI_TCE_KILL);
}
}
-void powernv_set_nmmu_ptcr(unsigned long ptcr)
-{
- int rc;
-
- if (firmware_has_feature(FW_FEATURE_OPAL)) {
- rc = opal_nmmu_set_ptcr(-1UL, ptcr);
- if (rc != OPAL_SUCCESS && rc != OPAL_UNSUPPORTED)
- pr_warn("%s: Unable to set nest mmu ptcr\n", __func__);
- }
-}
-
EXPORT_SYMBOL_GPL(opal_poll_events);
EXPORT_SYMBOL_GPL(opal_rtc_read);
EXPORT_SYMBOL_GPL(opal_rtc_write);