Merge branch 'topic/ppc-kvm' into next
Merge the topic branch we're sharing with the kvm-ppc tree.
Bu işleme şunda yer alıyor:
@@ -717,6 +717,29 @@ static int pseries_lpar_resize_hpt(unsigned long shift)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Actually only used for radix, so far */
|
||||
static int pseries_lpar_register_process_table(unsigned long base,
|
||||
unsigned long page_size, unsigned long table_size)
|
||||
{
|
||||
long rc;
|
||||
unsigned long flags = PROC_TABLE_NEW;
|
||||
|
||||
if (radix_enabled())
|
||||
flags |= PROC_TABLE_RADIX | PROC_TABLE_GTSE;
|
||||
for (;;) {
|
||||
rc = plpar_hcall_norets(H_REGISTER_PROC_TBL, flags, base,
|
||||
page_size, table_size);
|
||||
if (!H_IS_LONG_BUSY(rc))
|
||||
break;
|
||||
mdelay(get_longbusy_msecs(rc));
|
||||
}
|
||||
if (rc != H_SUCCESS) {
|
||||
pr_err("Failed to register process table (rc=%ld)\n", rc);
|
||||
BUG();
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
void __init hpte_init_pseries(void)
|
||||
{
|
||||
mmu_hash_ops.hpte_invalidate = pSeries_lpar_hpte_invalidate;
|
||||
@@ -731,6 +754,12 @@ void __init hpte_init_pseries(void)
|
||||
mmu_hash_ops.resize_hpt = pseries_lpar_resize_hpt;
|
||||
}
|
||||
|
||||
void radix_init_pseries(void)
|
||||
{
|
||||
pr_info("Using radix MMU under hypervisor\n");
|
||||
register_process_table = pseries_lpar_register_process_table;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_SMLPAR
|
||||
#define CMO_FREE_HINT_DEFAULT 1
|
||||
static int cmo_free_hint_flag = CMO_FREE_HINT_DEFAULT;
|
||||
|
Yeni konuda referans
Bir kullanıcı engelle