[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CPU-PCI cycles
- To: Mailing List Recipients <pci-sig-request@znyx.com>
- Subject: Re: CPU-PCI cycles
- From: Andreas Heiner <Andreas.Heiner@fr.bosch.de>
- Date: Tue, 03 Dec 1996 12:46:20 +0000
- Organization: Robert Bosch GmbH
- Resent-Date: Tue, 03 Dec 1996 12:46:20 +0000
- Resent-From: pci-sig-request@znyx.com
- Resent-Message-Id: <"wnRyV3.0.dN1.WF1fo"@dart>
- Resent-Sender: pci-sig-request@znyx.com
Rafi Boneh <RAFIB@GILAT.MHS.CompuServe.COM> writes...
> I am trying to write a Win95 VXD for a PCI chip.
> I am using a PCI bus analyzer and trying to compare my code to what I see
> on the bus.
> It seems that there are some differences. For instance:
> *) I am writing twice the same LongWord to the same address, and I see
> only one single transfer transaction on the PCI bus.
> *) When I write two different LongWords to the same address, I again see
> only one single transfer transaction, with data equivalent to the second
> write.
> It seems like the host bridge "interprets" my commands, and decides
> itself that there is
> no sense in writing the same word to the same location twice, or writing
> different words to the same locations, and so on.
> I have my own reasons to do so (accessing command and control register on
> the chip).
>
> Dose some one have an idea how can I access the locations I want, in the
> sequence I want, or what limitations do I have one such operations?
We have had the same problems some weeks ago. The problem was, that the
C-compiler optimizes the code and don't access the same address with the
same value twice. You have to declare your pointers with a 'volatile'
before your declaration:
volatile long * pointer_p;
In this case it is not allowed for the compiler to optimize accesses to
this pointer.
I hope this will be helpfull.
Best regards,
Andreas Heiner
mailto:Andreas.Heiner@fr.bosch.de
Tel.: ++49 (5121) 49-3946
Fax.: ++49 (5121) 49-3910
----------------------------------------------------------------------
Andreas Heiner | Andreas Heiner
|
Robert Bosch GmbH | Robert Bosch GmbH
|
Abt.: FV/SLH-He | Dept.: FV/SLH-He
(Zentralbereich Forschung | (Corporate Research and
und Vorausentwicklung | Development Systems 2 /
Systeme 2 / Leitsysteme | Guidance and Security
und Sicherheitstechnik) | Systems)
|
Robert-Bosch-Str. 200 | Robert-Bosch-Str. 200
|
D-31139 Hildesheim | D-31139 Hildesheim
|
Deutschland | Germany
|
----------------------------------------------------------------------
************************ End of mail *********************************
\ ¼ «