History log of /haiku/src/add-ons/kernel/bus_managers/pci/pci_fixup.cpp
Revision Date Author Comments
# 5ffbe7d7 30-Mar-2019 Augustin Cavalier <waddlesplash@gmail.com>

Change all references to "__INTEL__" to "__i386__".

They are functionally identical, but the former is a BeOS/Haiku-specfic
macro that we include in the compiler specs, and the latter is defined
by GCC.


# 8b9c0710 26-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

PCI bus manager: changed the type of domain from int to uint8.

* fixed narrowing conversion problem found by GCC 4.7.


# 12bd7812 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Ported PCI module to x86_64.

Uses the x86 architecture code, made fixes to printf formats and a
couple of 64-bit fixes. Only potentially intrusive change is that I've
changed PCI.h to use uint32 rather than ulong. I don't see any way
this would cause any issues, though.


# 68776e7d 04-Sep-2008 François Revol <revol@free.fr>

Sanitized version of my ATI IXP fix. This one checks for host bridge PCI ID so it shouldn't harm other machines. Works for me (cold boots ok). This should fix bug #2342. Please test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27333 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b407c416 09-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Force multi-device mode for JMicron controllers supporting SATA/PATA
interfaces. This fixes bug #2227.

Note that when the SATA interface is in AHCI mode it is still failing
due to what seems to be a device manager problem. I will open a separate
bug for it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26902 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c7dc861 07-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Ooops. Copy and paste bug.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f1be570 07-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Added skeleton code for setting device mode.
- Next, figure out which bits to set!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26862 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c93ffc4a 06-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Removed most of the currently fixup code as, at least on my machine,
it was messing stuff up. This makes the PATA controller work in IDE
mode!
- Added comments to clarify things and TODOs about what is still missing
(specially getting AHCI mode working).

Marcus, please review.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20a8524c 06-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Better adhere to style guide.
- Remove superfluous check for device function before setting IRQ.
- Added comment about setting IRQ for device with function 1.
- This fixes nothing yet, in case you are wondering. :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26842 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 705263f5 20-May-2008 Axel Dörfler <axeld@pinc-software.de>

* Some preparations for the new driver architecture: added FindCapability(),
and {Read|Write}Config() that get a PCIDev structure, added a FindDevice()
method.
* Made sPCI a global gPCI, since the new PCI root/device modules will be using
it directly.
* Moved the functionality of pci_find_capability() into a new
PCI::FindCapability() method.
* Removed the redundant "Pci" from PCI::{Read|Write}PciConfig(), and
GetNthPciInfo().
* Added PCI::_NumFunctions() that returns the number of functions instead of
doing it manually every time.
* Tried to honour the 80 character limit, as well as other coding style things
a bit more.
* Added '_' prefix for private method names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e4a8835 23-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Disabled setting Intel IDE mode to AHCI until the PCI manager can assign new resources


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23150 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fbdeb12c 23-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Properly restore IRQ setting for JMicron PATA function.
No longer reconfigure JMB360 and JMB362, those have no PATA function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39ee19ec 16-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

preserve IRQ when splitting Jmicron devices


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23136 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aee1388a 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

improved debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 68cbf402 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Switch Intel AHCI controller from IDE into AHCI mode.
Clears BAR5 on ICH8 and ICH9.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 65621982 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

New PCI quirk/fixup support.
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8b9c0710cd302a4fe5a4920792fbc5659fe85b6c 26-Apr-2013 Jérôme Duval <jerome.duval@gmail.com>

PCI bus manager: changed the type of domain from int to uint8.

* fixed narrowing conversion problem found by GCC 4.7.


# 12bd7812dd6b6eadb65789ca9fc2e270d7d66fd4 19-Jul-2012 Alex Smith <alex@alex-smith.me.uk>

Ported PCI module to x86_64.

Uses the x86 architecture code, made fixes to printf formats and a
couple of 64-bit fixes. Only potentially intrusive change is that I've
changed PCI.h to use uint32 rather than ulong. I don't see any way
this would cause any issues, though.


# 68776e7d42a6898241e2e87b5931e0746d25536a 04-Sep-2008 François Revol <revol@free.fr>

Sanitized version of my ATI IXP fix. This one checks for host bridge PCI ID so it shouldn't harm other machines. Works for me (cold boots ok). This should fix bug #2342. Please test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27333 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b407c416eb46971f88ab17282fd5b578a5bac10c 09-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Force multi-device mode for JMicron controllers supporting SATA/PATA
interfaces. This fixes bug #2227.

Note that when the SATA interface is in AHCI mode it is still failing
due to what seems to be a device manager problem. I will open a separate
bug for it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26902 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7c7dc861e8be35d91a5cc0e07ff9b28e9b50da40 07-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Ooops. Copy and paste bug.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f1be5703c17785ff666012b220aba98ae80d9ef 07-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Added skeleton code for setting device mode.
- Next, figure out which bits to set!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26862 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c93ffc4a0313fda34f81972021e4669e6320700d 06-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Removed most of the currently fixup code as, at least on my machine,
it was messing stuff up. This makes the PATA controller work in IDE
mode!
- Added comments to clarify things and TODOs about what is still missing
(specially getting AHCI mode working).

Marcus, please review.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26844 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20a8524cc961ff7d89a3b1a9c6f7a9538cc76c98 06-Aug-2008 Bruno G. Albuquerque <bga@bug-br.org.br>

Work in progress while trying to fix ticket #2227:

- Better adhere to style guide.
- Remove superfluous check for device function before setting IRQ.
- Added comment about setting IRQ for device with function 1.
- This fixes nothing yet, in case you are wondering. :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26842 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 705263f5b30e9f6df57140be66bb1613c6e4ad1c 20-May-2008 Axel Dörfler <axeld@pinc-software.de>

* Some preparations for the new driver architecture: added FindCapability(),
and {Read|Write}Config() that get a PCIDev structure, added a FindDevice()
method.
* Made sPCI a global gPCI, since the new PCI root/device modules will be using
it directly.
* Moved the functionality of pci_find_capability() into a new
PCI::FindCapability() method.
* Removed the redundant "Pci" from PCI::{Read|Write}PciConfig(), and
GetNthPciInfo().
* Added PCI::_NumFunctions() that returns the number of functions instead of
doing it manually every time.
* Tried to honour the 80 character limit, as well as other coding style things
a bit more.
* Added '_' prefix for private method names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25575 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2e4a8835091572eceb61078eef11bbbaf308f31e 23-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Disabled setting Intel IDE mode to AHCI until the PCI manager can assign new resources


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23150 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fbdeb12ca0b78d84745ba6b76e912c2ac4c992e6 23-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Properly restore IRQ setting for JMicron PATA function.
No longer reconfigure JMB360 and JMB362, those have no PATA function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 39ee19ec0c12f52e821c0699d7faa6fcd5bffc1d 16-Dec-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

preserve IRQ when splitting Jmicron devices


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23136 a95241bf-73f2-0310-859d-f6bbb57e9c96


# aee1388adacdfa25993f255d5bd39e31ebeaa831 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

improved debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22879 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 68cbf4029809212aa0e26e1fd1696a29af0d02b9 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

Switch Intel AHCI controller from IDE into AHCI mode.
Clears BAR5 on ICH8 and ICH9.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22878 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 65621982c96e3b6f3fddb26ab2776fa75ce0535b 10-Nov-2007 Marcus Overhagen <marcusoverhagen@gmail.com>

New PCI quirk/fixup support.
The Jmicron AHCI controller has a mode that combines IDE and AHCI functionality
into a single PCI device at function 0. This happens when the controller is set
in the BIOS to "basic" or "IDE" mode (but not in "RAID" or "AHCI" mode).
To avoid needing two drivers to handle a single PCI device, we switch to the
multifunction (split device) AHCI mode. This will set PCI device at function 0
to AHCI, and PCI device at function 1 to IDE controller.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22868 a95241bf-73f2-0310-859d-f6bbb57e9c96