All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maurizio Caloro <mauric@gmx.ch>
To: Alexander Graf <agraf@suse.de>
Cc: malc <av1474@comtv.ru>,
	qemu-devel@nongnu.org, Brad Smith <brad@comstyle.com>
Subject: Re: [Qemu-devel] Help - `flush_icache_range' MacPPC
Date: Wed, 08 Feb 2012 00:57:13 +0100	[thread overview]
Message-ID: <4F31BA59.6060306@gmx.ch> (raw)
In-Reply-To: <DA9F2E38-0A29-4ADE-933E-81692C2E42A9@suse.de>

Am 07.02.2012 23:57, schrieb Alexander Graf:
> 
> On 07.02.2012, at 23:29, Brad Smith wrote:
> 
>> On 07/02/12 5:12 PM, malc wrote:
>>> On Tue, 7 Feb 2012, Alexander Graf wrote:
>>>
>>>>
>>>> On 07.02.2012, at 22:12, malc wrote:
>>>>
>>>>> On Tue, 7 Feb 2012, Alexander Graf wrote:
>>>>>
>>>>>>
>>>>>> On 07.02.2012, at 13:52, Maurizio Caloro wrote:
>>>>>>
>>>>>>> Hello Together
>>>>>>> Here i drive with me MiniMac G4 1.4Ghz and i try to run Qemu 1.0. i wan't run one Virt. MS Server2008 it's this realistic?.
>>>>>>>
>>>>>>> Unfortunitly from the first (other) Mailinglist i don't become any Answer.
>>>>>>>
>>>>>>> on a possible error recovery support, I would grateful to you.
>>>>>>> Thanks and best regards
>>>>>>> Mauri
>>>>>>>
>>>>>>>> NetBSD powermac.G4 5.1 NetBSD 5.1 (GENERIC) #0: Sat Nov  6 17:09:11 UTC>2010  builds@b7.netbsd.org:/home/builds/ab/netbsd-5-1->RELEASE/macppc/201011061943Z-obj/home/builds/ab/netbsd-5-1->RELEASE/src/sys/arch/macppc/compile/GENERIC macppc
>>>>>>>>
>>>>>>>> # gmake
>>>>>>>> CC    i386-softmmu/memory.o
>>>>>>>> LINK  i386-softmmu/qemu-system-i386
>>>>>>>> ld: warning: libintl.so.0, needed by /usr/pkg/lib/libgthread-2.0.so, may conflict with libintl.so.8
>>>>>>>> tcg/tcg.o: In function `tcg_prologue_init':
>>>>>>>> /usr/source/qemu-1.0/tcg/tcg.c:268: undefined reference to `flush_icache_range'
>>>>>>>> tcg/tcg.o: In function `ppc_tb_set_jmp_target':
>>>>>>>> /usr/source/qemu-1.0/tcg/ppc/tcg-target.c:1291: undefined reference to `flush_icache_range'
>>>>>>>> tcg/tcg.o: In function `tcg_gen_code':
>>>>>>>> /usr/source/qemu-1.0/tcg/tcg.c:2191: undefined reference to `flush_icache_range'
>>>>>>
>>>>>> I'd say your gcc is too old / buggy.
>>>>>
>>>>> You probably missed the NetBSD part (anyway originally i did)
>>>>
>>>> Gcc on NetBSD doesn't implement the cache flush helpers? They're just a
>>>> bunch of instructions, so I don't see how that'd be target os specific.
>>>>
>>>
>>> Take a look at cache-utils.c, it conditionally (depending on the host OS
>>> type) tries to gigure out the cache line sizes, there's code to do that
>>> on Linux, OSX, AIX and FreeBSD. I have no idea if FreeBSD method works
>>> for Net/Open/Dragonfly.. so..
>>
>> The FreeBSD method will not work with NetBSD. For NetBSD you have to use
>> the machdep.cacheinfo sysctl MIB. For OpenBSD this is the only local patch
>> we have since there is no sysctl (yet) to retrieve the cache line size.
>> DragonFly has no PowerPC support.
> 
> Eh, this patch:
> 
> diff --git a/tcg/ppc/tcg-target.c b/tcg/ppc/tcg-target.c
> index f5d9bf3..f9793e6 100644
> --- a/tcg/ppc/tcg-target.c
> +++ b/tcg/ppc/tcg-target.c
> @@ -1260,6 +1260,17 @@ static void tcg_out_brcond2 (TCGContext *s, const TCGArg *args,
>      tcg_out_bc (s, (BC | BI (7, CR_EQ) | BO_COND_TRUE), args[5]);
>  }
>  
> +#ifdef __NetBSD__
> +static void flush_icache_range(unsigned long begin, unsigned long end)
> +{
> +    unsigned int i = begin & ~15UL;
> +    for (; i < end; i+=16) {
> +        asm("icbi 0,%0" : : "r"(i));
> +    }
> +    asm("isync");
> +}
> +#endif
> +
>  void ppc_tb_set_jmp_target (unsigned long jmp_addr, unsigned long addr)
>  {
>      uint32_t *ptr;
> 
> Alex
> 
> 
Hello Alex
Yes i think this its running to end.... at the moment it's compiling :-)
this pace of Code have you writen?, you are a genius !!!
i write you also if this compilation finish.
best regards and good night:-)

  reply	other threads:[~2012-02-07 23:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-07 12:52 [Qemu-devel] Help - `flush_icache_range' MacPPC Maurizio Caloro
2012-02-07 18:03 ` malc
2012-02-07 20:01 ` Alexander Graf
2012-02-07 21:12   ` malc
2012-02-07 22:05     ` Alexander Graf
2012-02-07 22:12       ` malc
2012-02-07 22:22         ` Alexander Graf
2012-02-07 22:29         ` Brad Smith
2012-02-07 22:33           ` Alexander Graf
2012-02-07 22:56           ` Alexander Graf
2012-02-07 22:57           ` Alexander Graf
2012-02-07 23:57             ` Maurizio Caloro [this message]
2012-02-08 23:29             ` Scott Wood
2012-02-08 23:42               ` Alexander Graf
2012-02-08 23:54                 ` Scott Wood
2012-02-08 23:58                   ` Alexander Graf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F31BA59.6060306@gmx.ch \
    --to=mauric@gmx.ch \
    --cc=agraf@suse.de \
    --cc=av1474@comtv.ru \
    --cc=brad@comstyle.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.