1 2004-11-03 David Vrabel <dvrabel@arcom.com>
3 * src/pci.c (cyg_pci_configure_device): Fix bug which caused
4 memory resources to be not allocated.
6 2004-10-13 David Brennan <eCos@brennanhome.com>
8 * src/pci.c: Added include of cyg/infra/diag.h to fix compiler
11 2004-10-12 Mark Salter <msalter@redhat.com>
13 * cdl/io_pci.cdl (CYGPKG_IO_PCI_CONFIGURE_INTLINE): New option.
14 * src/pci.c (cyg_pci_translate_interrupt): Don't write INT LINE
15 register unless CYGPKG_IO_PCI_CONFIGURE_INTLINE defined.
17 2004-08-31 Mark Salter <msalter@redhat.com>
19 * src/pci.c (cyg_pci_translate_interrupt): Write vector number into
21 (cyg_pci_get_device_info): Add mechanism for HALs to specify certain
23 * include/pci_hw.h (CYG_PCI_IGNORE_BAR): New macro.
24 * doc/pci.sgml: Add info on HAL_PCI_IGNORE_BAR.
26 2004-01-14 Nick Garnett <nickg@calivar.com>
28 * src/pci.c (cyg_pci_get_device_info): Added fix for devices that
29 only implement the bottom 16 bits of an IO BAR. This is allowed by
30 the standard but is very rare and mostly present in older devices
31 only. Without this cyg_pci_allocate_io_priv() gets confused.
33 2004-01-09 David Vrabel <dvrabel@arcom.com>
35 * src/pci.c (cyg_pci_find_device): Remove debug message.
37 2003-11-27 Andrew Lunn <andrew.lunn@ascom.ch>
39 * src/pci.c (cyg_pci_find_device): Removed a debug print which should
40 not be there and is causing an warning.
42 2003-11-18 Manu Sharma <manu.sharma@ascom.com>
44 * src/pci.c : Additional changes in cyg_pci_get_device_info,
45 cyg_pci_set_device_info and cyg_pci_configure_device to be able
46 to support non-contiguous BARs.
48 2003-09-29 Nick Garnett <nickg@balti.calivar.com>
50 * src/pci.c (cyg_pci_get_device_info): Removed check for inactive
51 BARs since the requirement for the BARs to be contiguous has been
52 relaxed in more recent versions of the PCI standard.
54 2003-08-08 Gary Thomas <gary@mind.be>
56 * include/pci.h: Add CYGARC_PCI_DMA_ADDRESS() macro - used to
57 map CPU addresses to ones usable by PCI masters.
59 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
61 * cdl/io_pci.cdl: Fix doc link.
63 2003-02-21 Gary Thomas <gary@mlbassoc.com>
65 * src/pci.c (cyg_pci_get_device_info): While scanning active
66 devices, remember the I/O and memory addresses they use. This
67 allows for new devices to be added which will not conflict.
69 2003-02-20 Gary Thomas <gary@mlbassoc.com>
71 * tests/pcihdr.h: Update to latest published version.
73 2002-05-14 Jesper Skov <jskov@redhat.com>
75 * tests/pci1.c: Fix warning.
77 2002-02-13 Hugo Tyson <hmt@redhat.com>
79 * doc/pci.sgml: Tidy up some typos and PROGRAMLISTING width
82 2002-02-11 Mark Salter <msalter@redhat.com>
84 * doc/pci.sgml: Brought docs up to date with current code.
86 2002-01-31 Mark Salter <msalter@redhat.com>
88 * src/pci.c (cyg_pci_init): Set default memory and io bases here
89 as the HAL_PCI_ALLOC_BASE_* macros may not be static values.
91 2002-01-21 Mark Salter <msalter@redhat.com>
93 * src/pci.c (cyg_pci_get_device_info): Fix setting of upper 32 bits
96 2001-09-28 Gary Thomas <gthomas@redhat.com>
98 * src/pci.c (cyg_pci_find_next):
99 * include/pci.h: Allow platforms to restrict PCI bus/device ranges.
101 2001-08-22 Gary Thomas <gthomas@redhat.com>
104 printf() is no longer a part of RedBoot. Thus all programs
105 must use diag_printf() and related functions instead.
107 2001-02-28 Hugo Tyson <hmt@redhat.com>
109 * tests/pci1.c (pci_scan): Added a new function to re-scan the
110 device list after configuring to let a human confirm that we truly
111 are seeing distinct devices - ie. do they retain their distinct
112 resource allocations in the BARs? This was useful to me in
113 investigating a recalcitrant target...
115 2001-02-02 Jesper Skov <jskov@redhat.com>
117 * tests/pci2.c (pci_test): Removed bogus check for 1MB IO limit.
119 2001-01-10 Jesper Skov <jskov@redhat.com>
121 * src/pci.c (cyg_pci_get_device_info): Do correct casting of
122 header_type. Do not make assumptions about structure layout.
124 * tests/pcihdr.h: Updated.
126 2001-01-02 Hugo Tyson <hmt@redhat.com>
128 * include/pci.h: Define new API to perform more generalized matching
129 on device properties.
131 * src/pci.c (cyg_pci_find_matching): New API implementation.
133 2000-12-21 Mark Salter <msalter@redhat.com>
135 * include/pci_hw.h: Add platform hook so certain devices
136 can be skipped by generic PCI io code. This is a workaround
137 for a hw problem where configuration space cycles on some
138 devices cause a bus lockup.
140 * src/pci.c (cyg_pci_find_next): Use platform hook to ignore
141 certain devices during device search.
143 2000-12-02 Gary Thomas <gthomas@redhat.com>
146 * cdl/io_pci.cdl: Add CDL to control debug prints.
148 2000-11-30 Gary Thomas <gthomas@redhat.com>
150 * src/pci.c (cyg_pci_find_next): Improve debug prints when
151 scanning the bus, showing vendor and device code for each slot.
153 2000-11-19 Gary Thomas <gthomas@redhat.com>
155 * src/pci.c (cyg_pci_find_device): Don't update 'devid' if no
156 suitable devices found. This allows for simpler rescan for
157 multiple device types.
159 2000-11-12 Gary Thomas <gthomas@redhat.com>
162 * src/pci.c: Layout changes require <pkgconf/hal.h>
164 2000-11-06 Jonathan Larmour <jlarmour@redhat.com>
166 * src/pci.c (cyg_pci_find_next): Conditionalize debug printfs
168 2000-11-04 Mark Salter <msalter@redhat.com>
170 * src/pci.c (cyg_pci_get_device_info): Add bridge support. Handle
171 already configured devices.
172 (cyg_pci_set_device_info): Add bridge support.
173 (cyg_pci_find_next): Support device id with valid bus number
174 combined with CYG_PCI_NULL_DEVFN.
175 (cyg_pci_configure_device): Return true if device already configured.
176 Fixed for devices which use no BARs.
177 (cyg_pci_allocate_io_priv): Remove bogus limit check.
178 (cyg_pci_configure_bus): New function to recursively configure a
179 bus and its subordinate bases.
181 * include/pci_cfg.h: Added bridge definitions.
182 (CYG_PCI_CFG_BAR_5): Corrected.
184 * include/pci.h (CYG_PCI_NULL_DEVFN): Define.
185 (cyg_pci_device): Add bridge support. Add num_bars. Add
186 declaration for cyg_pci_configure_bus.
187 (CYG_PCI_MAX_BUS): Increase to (arbitrary) 8.
189 2000-03-28 John Dallaway <jld@cygnus.co.uk>
193 Adjust documentation URLs.
195 2000-01-31 Simon FitzMaurice <sdf@cygnus.co.uk>
198 Adjust help URLs in line with new doc layout.
200 2000-01-28 Simon FitzMaurice <sdf@cygnus.co.uk>
203 Adjust help URLs in line with new doc layout.
205 2000-01-19 Hugo Tyson <hmt@cygnus.co.uk>
207 * cdl/*.cdl: Add descriptions to a number of options &c which were
208 lacking same, also tidied up other typos as noticed en passant.
210 1999-12-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
212 * cdl/io_pci.cdl (CYGPKG_IO_PCI): Relevant to more than one platform
213 so reparent under IO package
214 (CYGPKG_IO_PCI_CFLAGS_REMOVE): Fix display line typo
216 1999-11-03 John Dallaway <jld@cygnus.co.uk>
218 * cdl/io_pci.cdl: Define build options.
220 1999-09-24 Jesper Skov <jskov@cygnus.co.uk>
222 * tests/pci2.c (pci_test): Replaced CYG_ASSERT with CYG_TEST_CHECK
224 1999-09-10 Jonathan Larmour <jlarmour@cygnus.co.uk>
226 * include/pkgconf/io_pci.h: Reparent under CYGPKG_IO - this is used under
227 more than one target now and the library itself is generic.
229 1999-08-25 Jesper Skov <jskov@cygnus.co.uk>
231 * src/pci.c (cyg_pci_init): Made it idempotent.
237 All functions that deal with addresses in PCI space now use PCI
240 1999-08-24 Jesper Skov <jskov@cygnus.co.uk>
246 Handle requests for memory regions in 64bit space.
248 1999-08-24 Jesper Skov <jskov@cygnus.co.uk>
250 * tests/pci1.c: Added more output, resource allocation, debug help
253 * src/pci.c (cyg_pci_find_next): Handle multi-function devices.
255 * include/pci_cfg.h (CYG_PCI_CFG_COMMAND_ACTIVE): Added MASTER.
256 Added HEADER_TYPE definitions.
258 1999-08-23 Nick Garnett <nickg@cygnus.co.uk>
260 * tests/pci1.c: Fixed a couple of bugs in the vendor/device/class
263 1999-08-23 Jesper Skov <jskov@cygnus.co.uk>
265 * tests/pcihdr.h: [Added]
266 * tests/pci1.c: Added Vendor/Device ID description output.
268 * include/pci_cfg.h: Added vendor and class IDs.
269 Also added Prog/IF IDs.
271 1999-08-19 Nick Garnett <nickg@cygnus.co.uk>
273 * tests/pci1.c (pci_test): Added printf() of class_rev code to
276 * include/pci.h (CYG_PCI_MAX_FN): Increased to 8.
278 1999-08-19 Jesper Skov <jskov@cygnus.co.uk>
280 * src/pci.c (cyg_pci_allocate_memory, cyg_pci_allocate_io):
281 Check that device is inactive. Ensure that 1MB limits (IO/MEM1MB)
284 * tests/pci2.c (pci_test): Added tests of io/mem allocators.
286 1999-08-17 Jesper Skov <jskov@cygnus.co.uk>
288 * tests/pci2.c (pci_test): Added (empty for now)
289 * tests/pci1.c: Added API checks.
290 * include/pci.h: Fixed typo.
292 * include/pci.h (CYG_PCI_NULL_DEVID): Changed initializer.
293 * src/pci.c (cyg_pci_find_next): Correct check for initializer.
295 * tests/pci1.c: Added.
303 Renamed cyg_pci_config_interrupt to cyg_pci_translate_interrupt.
306 1999-08-16 John Dallaway <jld@cygnus.co.uk>
310 Parent PCI library package under package on which it depends.
312 1999-08-16 John Dallaway <jld@cygnus.co.uk>
314 * include/pkgconf/io_pci.h:
316 Parent PCI package under package on which it depends.
318 1999-08-16 Jesper Skov <jskov@cygnus.co.uk>
321 * src/pci.c (cyg_pci_config_interrupt):
323 * src/pci_hw.c (cyg_pcihw_config_interrupt):
324 Added interrupt configuration functions.
326 1999-08-13 Jesper Skov <jskov@cygnus.co.uk>
332 Extended cyg_pci_device and API.
334 Put physical address in base_map.
336 (cyg_pci_get_device_info): Fix switch. Clear base_size when device
339 1999-08-12 Jesper Skov <jskov@cygnus.co.uk>
346 Renamed some registers. Fixed some bad arguments. Added forgotten
348 cyg_pci_configure_device fleshed out a bit.
350 * First half-empty files checked in.
352 //===========================================================================
353 //####ECOSGPLCOPYRIGHTBEGIN####
354 // -------------------------------------------
355 // This file is part of eCos, the Embedded Configurable Operating System.
356 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
358 // eCos is free software; you can redistribute it and/or modify it under
359 // the terms of the GNU General Public License as published by the Free
360 // Software Foundation; either version 2 or (at your option) any later version.
362 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
363 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
364 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
367 // You should have received a copy of the GNU General Public License along
368 // with eCos; if not, write to the Free Software Foundation, Inc.,
369 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
371 // As a special exception, if other files instantiate templates or use macros
372 // or inline functions from this file, or you compile this file and link it
373 // with other works to produce a work based on this file, this file does not
374 // by itself cause the resulting work to be covered by the GNU General Public
375 // License. However the source code for this file must still be made available
376 // in accordance with section (3) of the GNU General Public License.
378 // This exception does not invalidate any other reasons why a work based on
379 // this file might be covered by the GNU General Public License.
381 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
382 // at http://sources.redhat.com/ecos/ecos-license/
383 // -------------------------------------------
384 //####ECOSGPLCOPYRIGHTEND####
385 //===========================================================================