aboutsummaryrefslogtreecommitdiff
path: root/src/arch/x86/include/arch/io.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/include/arch/io.h')
-rw-r--r--src/arch/x86/include/arch/io.h124
1 files changed, 2 insertions, 122 deletions
diff --git a/src/arch/x86/include/arch/io.h b/src/arch/x86/include/arch/io.h
index f0c0c80260..d39bbb3ff4 100644
--- a/src/arch/x86/include/arch/io.h
+++ b/src/arch/x86/include/arch/io.h
@@ -11,10 +11,9 @@
* GNU General Public License for more details.
*/
-#ifndef _ASM_IO_H
-#define _ASM_IO_H
+#ifndef __ARCH_IO_H__
+#define __ARCH_IO_H__
-#include <endian.h>
#include <stdint.h>
/*
@@ -150,123 +149,4 @@ static inline void insl(uint16_t port, void *addr, unsigned long count)
);
}
-static __always_inline uint8_t read8(
- const volatile void *addr)
-{
- return *((volatile uint8_t *)(addr));
-}
-
-static __always_inline uint16_t read16(
- const volatile void *addr)
-{
- return *((volatile uint16_t *)(addr));
-}
-
-static __always_inline uint32_t read32(
- const volatile void *addr)
-{
- return *((volatile uint32_t *)(addr));
-}
-
-#ifndef __ROMCC__
-static __always_inline uint64_t read64(
- const volatile void *addr)
-{
- return *((volatile uint64_t *)(addr));
-}
-#endif
-
-static __always_inline void write8(volatile void *addr,
- uint8_t value)
-{
- *((volatile uint8_t *)(addr)) = value;
-}
-
-static __always_inline void write16(volatile void *addr,
- uint16_t value)
-{
- *((volatile uint16_t *)(addr)) = value;
-}
-
-static __always_inline void write32(volatile void *addr,
- uint32_t value)
-{
- *((volatile uint32_t *)(addr)) = value;
-}
-
-#ifndef __ROMCC__
-static __always_inline void write64(volatile void *addr,
- uint64_t value)
-{
- *((volatile uint64_t *)(addr)) = value;
-}
-#endif
-
-#include <device/pnp_type.h>
-
-#ifdef __SIMPLE_DEVICE__
-
-/* Generic functions for pnp devices */
-static __always_inline void pnp_write_config(
- pnp_devfn_t dev, uint8_t reg, uint8_t value)
-{
- unsigned int port = dev >> 8;
- outb(reg, port);
- outb(value, port + 1);
-}
-
-static __always_inline uint8_t pnp_read_config(
- pnp_devfn_t dev, uint8_t reg)
-{
- unsigned int port = dev >> 8;
- outb(reg, port);
- return inb(port + 1);
-}
-
-static __always_inline
-void pnp_set_logical_device(pnp_devfn_t dev)
-{
- unsigned int device = dev & 0xff;
- pnp_write_config(dev, 0x07, device);
-}
-
-static __always_inline
-void pnp_set_enable(pnp_devfn_t dev, int enable)
-{
- pnp_write_config(dev, 0x30, enable?0x1:0x0);
-}
-
-static __always_inline
-int pnp_read_enable(pnp_devfn_t dev)
-{
- return !!pnp_read_config(dev, 0x30);
-}
-
-static __always_inline
-void pnp_set_iobase(pnp_devfn_t dev, unsigned int index, unsigned int iobase)
-{
- pnp_write_config(dev, index + 0, (iobase >> 8) & 0xff);
- pnp_write_config(dev, index + 1, iobase & 0xff);
-}
-
-static __always_inline
-uint16_t pnp_read_iobase(pnp_devfn_t dev, unsigned int index)
-{
- return ((uint16_t)(pnp_read_config(dev, index)) << 8)
- | pnp_read_config(dev, index + 1);
-}
-
-static __always_inline
-void pnp_set_irq(pnp_devfn_t dev, unsigned int index, unsigned int irq)
-{
- pnp_write_config(dev, index, irq);
-}
-
-static __always_inline
-void pnp_set_drq(pnp_devfn_t dev, unsigned int index, unsigned int drq)
-{
- pnp_write_config(dev, index, drq & 0xff);
-}
-
-#endif /* __SIMPLE_DEVICE__ */
#endif