[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Single 64bit memory transaction instead of two 32bit memory
From: |
Adnan Khaleel |
Subject: |
[Qemu-devel] Single 64bit memory transaction instead of two 32bit memory transaction. |
Date: |
Mon, 08 Nov 2010 17:27:09 -0600 |
In the file exec.c:
The memory Write/Read functions are declared as an array of 4 entries where the index values of 0,1,2 correspond to 8,16 and 32bit write and read functions respectively.
CPUWriteMemoryFunc *io_mem_write[IO_MEM_NB_ENTRIES][4];
CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
Is there any reason why we can't extend this to include 64bit writes and read by increasing the array size? This is because 64bit reads are currently handled as two separate 32bit reads for eg: sommu_template.h
static inline DATA_TYPE glue(io_read, SUFFIX)(target_phys_addr_t physaddr,
target_ulong addr,
void *retaddr)
{
:
res = io_mem_read[index][2](io_mem_opaque[index], physaddr);
res |= (uint64_t)io_mem_read[index][2](io_mem_opaque[index], physaddr + 4) << 32;
:
return res;
}
I'm sure this is happening in other places as well. Is there a reason for this or could we arbitrarily increase this (within limits ofcourse)?
Thanks
AK
- [Qemu-devel] Single 64bit memory transaction instead of two 32bit memory transaction.,
Adnan Khaleel <=