[parisc-linux] Re: [parisc-linux-cvs] linux carlos
Joel Soete
jsoe0708@tiscali.be
Thu, 28 Aug 2003 18:08:14 +0200
--========/3F4D78B00000000A/mail.tiscali.be
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
>
>no.
>IIRC instructions for purging the cache are broadcast to other CPUs.
>
That is the first thing I would like to check (as the first signal I notice
is a itlb miss fault and the piminfo of the 2d cpu seems to show a crash
on a branch instruction [cmpb iirc], I presume that during the init of the
second cpu this last tries to access a page which was just purged by the
first. This is also why I would like to find the psw of this second cpu
in the mentionned pimfinfo :) )
>> But to avoid usage of cache would it be possible to access global kernel's
>> variable with absolute addressing mode? Is it feasible?
>
>Since the caches use virtual indices, it would make sense when using
>physically addresses to bypass the cache. But I don't know if that's
>really the case or not. I would expect that described in the PA2.0 Arch
>book.
I don't yet browse all the book but at a first glance ldda and stda are available
(respectively load and store doubleword absolute)...
>> btw scaning cod
>> related to SMP I find in smp.c a very draft of
>> an 'ipi_init()' but unfortunately 'Ignore for now. *May* need this
>> "hook" to register IPI handler'..., interesting isn't it :).
>
>I wrote that. ipi_init and comments can be deleted.
>I haven't see a need for ipi_init(). When I originally
>implemented the SMP support I thought it might be.
>
>The IPI handler is statically "hooked" (aka registered) in
> arch/parisc/kernel/irq.c:cpu_irq_actions[]
>
>See ipi_interrupt() for IPI implementation.
>
Allright (clear)
>>
>> Is there any other platform inplementing such stuff (I try to scan 2.4
src
>> but not found anywhere else) or some reference on to implement it?
>
>it == ?
>IPI is implemented.
I continue so.
BTW here is a small 2.6 back port that may be you could co safely:
--- processor.c.orig 2003-08-28 18:04:57.000000000 +0200
+++ processor.c 2003-08-28 18:08:37.000000000 +0200
@@ -370,9 +370,9 @@
};
static struct parisc_driver cpu_driver = {
- name: "CPU",
- id_table: processor_tbl,
- probe: processor_probe
+ .name = "CPU",
+ .id_table = processor_tbl,
+ .probe = pprocessor_probe
};
/**
Many thanks again for your attention,
Joel
-------------------------------------------------------------------------
Tiscali ADSL, seulement 35 eur/mois et le modem est inclus...abonnez-vous!
http://reg.tiscali.be/default.asp?lg=fr
--========/3F4D78B00000000A/mail.tiscali.be
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="processor.diff"
LS0tIHByb2Nlc3Nvci5jLm9yaWcJMjAwMy0wOC0yOCAxODowNDo1Ny4wMDAwMDAwMDAgKzAyMDAK
KysrIHByb2Nlc3Nvci5jCTIwMDMtMDgtMjggMTg6MDg6MzcuMDAwMDAwMDAwICswMjAwCkBAIC0z
NzAsOSArMzcwLDkgQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGFyaXNjX2RyaXZlciBjcHVfZHJp
dmVyID0gewotCW5hbWU6CQkiQ1BVIiwKLQlpZF90YWJsZToJcHJvY2Vzc29yX3RibCwKLQlwcm9i
ZToJCXByb2Nlc3Nvcl9wcm9iZQorCS5uYW1lCQk9ICJDUFUiLAorCS5pZF90YWJsZQk9IHByb2Nl
c3Nvcl90YmwsCisJLnByb2JlCQk9IHBwcm9jZXNzb3JfcHJvYmUKIH07CiAKIC8qKgo=
--========/3F4D78B00000000A/mail.tiscali.be--