switch-coreboot/include/device/pci_ops.h
Ronald G. Minnich 6a732582c7 Here we start to see the good design of 3. In v2, there were pci ops in
all stages, blighting everything with the same code, compiled different 
ways. In this change, we see that:
- basic conf ops are compiled into stage0, where they are used. 
- they are called directly from initram
- they are used to initialize the pci_cf8_conf1 structure in stage 2, 
   but the call still goes to stage0!

one copy of the code. 

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@752 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-13 02:41:29 +00:00

42 lines
1.7 KiB
C

/*
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef DEVICE_PCI_OPS_H
#define DEVICE_PCI_OPS_H
#include <types.h>
#include <device/device.h>
#include <pci_ops.h>
#include <shared.h>
u8 pci_read_config8(struct device * dev, unsigned where);
u16 pci_read_config16(struct device * dev, unsigned where);
u32 pci_read_config32(struct device * dev, unsigned where);
void pci_write_config8(struct device * dev, unsigned where, u8 val);
void pci_write_config16(struct device * dev, unsigned where, u16 val);
void pci_write_config32(struct device * dev, unsigned where, u32 val);
SHARED(pci_conf1_read_config8, u8, u32 bdf, int where);
SHARED(pci_conf1_read_config16, u16, u32 bdf, int where);
SHARED(pci_conf1_read_config32, u32, u32 bdf, int where);
SHARED(pci_conf1_write_config8, void , u32 bdf, int where, u8 value);
SHARED(pci_conf1_write_config16, void, u32 bdf, int where, u16 value);
SHARED(pci_conf1_write_config32, void, u32 bdf, int where, u32 value);
SHARED(pci_conf1_find_on_bus, int, u16 bus, u16 vid, u16 did, u32 *busdevfn);
SHARED(pci_conf1_find_device, int, u16 vid, u16 did, u32 * dev);
#endif /* DEVICE_PCI_OPS_H */