mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
exec: Make ldq/ldub_*_phys input an AddressSpace
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
parent
fdfba1a298
commit
2c17449b30
25 changed files with 184 additions and 136 deletions
|
@ -213,6 +213,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr,
|
|||
int prot_need, int mmu_idx,
|
||||
target_ulong *pphys, int *pprot)
|
||||
{
|
||||
CPUState *cs = ENV_GET_CPU(env);
|
||||
target_long saddr = addr;
|
||||
target_ulong phys = 0;
|
||||
target_ulong L1pte, L2pte, L3pte;
|
||||
|
@ -251,7 +252,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr,
|
|||
|
||||
/* L1 page table read. */
|
||||
index = (addr >> (TARGET_PAGE_BITS + 20)) & 0x3ff;
|
||||
L1pte = ldq_phys(pt + index*8);
|
||||
L1pte = ldq_phys(cs->as, pt + index*8);
|
||||
|
||||
if (unlikely((L1pte & PTE_VALID) == 0)) {
|
||||
ret = MM_K_TNV;
|
||||
|
@ -264,7 +265,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr,
|
|||
|
||||
/* L2 page table read. */
|
||||
index = (addr >> (TARGET_PAGE_BITS + 10)) & 0x3ff;
|
||||
L2pte = ldq_phys(pt + index*8);
|
||||
L2pte = ldq_phys(cs->as, pt + index*8);
|
||||
|
||||
if (unlikely((L2pte & PTE_VALID) == 0)) {
|
||||
ret = MM_K_TNV;
|
||||
|
@ -277,7 +278,7 @@ static int get_physical_address(CPUAlphaState *env, target_ulong addr,
|
|||
|
||||
/* L3 page table read. */
|
||||
index = (addr >> TARGET_PAGE_BITS) & 0x3ff;
|
||||
L3pte = ldq_phys(pt + index*8);
|
||||
L3pte = ldq_phys(cs->as, pt + index*8);
|
||||
|
||||
phys = L3pte >> 32 << TARGET_PAGE_BITS;
|
||||
if (unlikely((L3pte & PTE_VALID) == 0)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue