linux-mips
[Top] [All Lists]

Re: [PATCH] mm/pg-r4k.c: Dump the generated code

To: Thiemo Seufer <ths@networkno.de>
Subject: Re: [PATCH] mm/pg-r4k.c: Dump the generated code
From: Franck Bui-Huu <vagabon.xyz@gmail.com>
Date: Thu, 04 Oct 2007 09:33:08 +0200
Cc: Ralf Baechle <ralf@linux-mips.org>, "Maciej W. Rozycki" <macro@linux-mips.org>, linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=NY7yn15/xxRye/FirViXaW2c9AwQLnIItbl67y6I6Rs=; b=UEnN2XR9tL58J/vFL++ts4S4YnJ/jdyt/O6To4gxbrbrbY5icYW1ehuAOS0t88AcktvfMEkg99gXlE0VjIP3xOeD61QxqgkggsZXM/heuYmjcSk6l0xoYh9Bl3ETrnA8JhIvQikAvG+mzYFFLhdY0xo6xXIPWzUN7nPw7gzL+Bo=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=pPWtXsEpJVD2ln8eQhlq7tqPzhq4dWVEzqvIDyitrQYiDrCpFMKW01sEP6FkWhyD9tdBKKz2+jy2Cud+rSmMYdXw4F9ZkrfmpoPqcjAD5Pys6MhEwDRCHl1vw6uXyP6GuzzXniTpaBz2DtrnAX0ibYA48dJZIi1vWLehwjFozNw=
In-reply-to: <20071003201800.GP16772@networkno.de>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <Pine.LNX.4.64N.0710021447470.32726@blysk.ds.pg.gda.pl> <20071002141125.GC16772@networkno.de> <20071002154918.GA11312@linux-mips.org> <47038874.9050704@gmail.com> <20071003131158.GL16772@networkno.de> <4703F155.4000301@gmail.com> <20071003201800.GP16772@networkno.de>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0.0.5 (X11/20070719)
Thiemo Seufer wrote:
> Franck Bui-Huu wrote:
>> Thiemo Seufer wrote:
>>> Then you have the worst of both approaches: The nicely readable
>>> disassembly will change under you feet, and you still need
>>> relocation annotations etc. for CPU-specific fixups. The end-result
>>> is likely more complicated and opaque than what we have now.
>> Let say we generate handlers with all possible cpu fixups. Very few
>> instructions would be removed so the disassembly should be quite
>> similar after patching.
> 
> No way. Just check the possible variations: 64bit, highmem, SMP,
> and so on.
> 

You just listed some variations that are known at compile time. What I
meant by "all possible cpu fixups" is all fixups for a specific cpu
which can be known only at runtime.

>> And by emitting some nice comments in the
>> generated code, it should be fairly obvious to get an idea of the
>> final code.
>>
>> All fixups would be listed in a table with some flags to identify them
>> and a list of instructions which need to be relocated.
> 
> At that point you have invented something which effectively emits
> the sourcecode for tlbex.c.
> 

Not really, I would say it's just an idea to remove tlbex.c from the
kernel code and to make it a tool called during compile time to
generate a handler skeleton which would be finalized by the kernel.

Thanks,
                Franck

<Prev in Thread] Current Thread [Next in Thread>