htab.c (fd0961ff67727482bb20ca7e8ea97b83e9de2ddb) | htab.c (95f72d1ed41a66f1c1c29c24d479de81a0bea36f) |
---|---|
1/* 2 * PS3 pagetable management routines. 3 * 4 * Copyright (C) 2006 Sony Computer Entertainment Inc. 5 * Copyright 2006, 2007 Sony Corporation 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by --- 5 unchanged lines hidden (view full) --- 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21#include <linux/kernel.h> | 1/* 2 * PS3 pagetable management routines. 3 * 4 * Copyright (C) 2006 Sony Computer Entertainment Inc. 5 * Copyright 2006, 2007 Sony Corporation 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by --- 5 unchanged lines hidden (view full) --- 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21#include <linux/kernel.h> |
22#include <linux/lmb.h> | 22#include <linux/memblock.h> |
23 24#include <asm/machdep.h> 25#include <asm/prom.h> 26#include <asm/udbg.h> 27#include <asm/lv1call.h> 28#include <asm/ps3fb.h> 29 30#include "platform.h" --- 100 unchanged lines hidden (view full) --- 131 } 132 133 hpte_v = hpte_v_array[slot % 4]; 134 135 /* 136 * As lv1_read_htab_entries() does not give us the RPN, we can 137 * not synthesize the new hpte_r value here, and therefore can 138 * not update the hpte with lv1_insert_htab_entry(), so we | 23 24#include <asm/machdep.h> 25#include <asm/prom.h> 26#include <asm/udbg.h> 27#include <asm/lv1call.h> 28#include <asm/ps3fb.h> 29 30#include "platform.h" --- 100 unchanged lines hidden (view full) --- 131 } 132 133 hpte_v = hpte_v_array[slot % 4]; 134 135 /* 136 * As lv1_read_htab_entries() does not give us the RPN, we can 137 * not synthesize the new hpte_r value here, and therefore can 138 * not update the hpte with lv1_insert_htab_entry(), so we |
139 * instead invalidate it and ask the caller to update it via | 139 * insted invalidate it and ask the caller to update it via |
140 * ps3_hpte_insert() by returning a -1 value. 141 */ 142 if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { 143 /* not found */ 144 ret = -1; 145 } else { 146 /* entry found, just invalidate it */ 147 result = lv1_write_htab_entry(PS3_LPAR_VAS_ID_CURRENT, --- 57 unchanged lines hidden --- | 140 * ps3_hpte_insert() by returning a -1 value. 141 */ 142 if (!HPTE_V_COMPARE(hpte_v, want_v) || !(hpte_v & HPTE_V_VALID)) { 143 /* not found */ 144 ret = -1; 145 } else { 146 /* entry found, just invalidate it */ 147 result = lv1_write_htab_entry(PS3_LPAR_VAS_ID_CURRENT, --- 57 unchanged lines hidden --- |