|
From: | Hannes Reinecke |
Subject: | Re: [Qemu-devel] [PATCH 1/9] exec: add endian specific phys ld/st functions |
Date: | Wed, 06 Jul 2011 15:03:24 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Thunderbird/3.1.8 |
On 07/06/2011 01:34 PM, Alexander Graf wrote:
On 06.07.2011, at 12:24, Paolo Bonzini<address@hidden> wrote:diff --git a/exec.c b/exec.c index 5f2f87e..f281ba4 100644 --- a/exec.c +++ b/exec.c @@ -4127,7 +4127,8 @@ void cpu_physical_memory_unmap(void *buffer, target_phys_addr_t len, } /* warning: addr must be aligned */ -uint32_t ldl_phys(target_phys_addr_t addr) +static inline uint32_t ldl_phys_internal(target_phys_addr_t addr, + enum device_endian endian)You probably need the __always_inline__ attribute to really convince GCC to inline this.There's a define in osdep.h that converts inline into always_inline :)
Btw, while you're at it: uint32_t ldub_phys(target_phys_addr_t addr); uint32_t lduw_phys(target_phys_addr_t addr); Hmm? ldub is supposed to read an 'unsigned byte' (uint8_t), and lduw is supposed to read an 'unsigned word' (uint16_t). Why does it return an uint32_t? Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage address@hidden +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
[Prev in Thread] | Current Thread | [Next in Thread] |