diff options
| author | Richard Lowe <richlowe@richlowe.net> | 2011-05-15 21:34:10 +0100 |
|---|---|---|
| committer | Richard Lowe <richlowe@richlowe.net> | 2011-05-15 21:34:10 +0100 |
| commit | 6b7143d774683daf27dfb2e93ab48d1ade1a3477 (patch) | |
| tree | fd02f5632a9d915059daa631435065339fb064db /usr/src/uts/intel/asm/sunddi.h | |
| parent | 9b7d742f0ee8ff89c05a8b5275d11359920ec60f (diff) | |
| download | illumos-joyent-6b7143d774683daf27dfb2e93ab48d1ade1a3477.tar.gz | |
2251 kernel inlines should support gcc 4
Reviewed by: Andrew Stormont <Andrew.Stormont@nexenta.com>
Reviewed by: Milan Jurik <milan.jurik@xylab.cz>
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Joshua M. Clulow <josh@sysmgr.org>
Reviewed by: Gordon Ross <gwr@nexenta.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/uts/intel/asm/sunddi.h')
| -rw-r--r-- | usr/src/uts/intel/asm/sunddi.h | 60 |
1 files changed, 33 insertions, 27 deletions
diff --git a/usr/src/uts/intel/asm/sunddi.h b/usr/src/uts/intel/asm/sunddi.h index 0a6bb3b696..0b7025a622 100644 --- a/usr/src/uts/intel/asm/sunddi.h +++ b/usr/src/uts/intel/asm/sunddi.h @@ -27,8 +27,7 @@ #ifndef _ASM_SUNDDI_H #define _ASM_SUNDDI_H -#pragma ident "%Z%%M% %I% %E% SMI" - +#include <sys/ccompile.h> #include <sys/types.h> #ifdef __cplusplus @@ -39,75 +38,82 @@ extern "C" { #if defined(__i386) || defined(__amd64) -extern __inline__ uint8_t inb(int port) +extern __GNU_INLINE uint8_t +inb(int port) { uint16_t port16 = (uint16_t)port; uint8_t value; __asm__ __volatile__( - "inb (%1)" /* value in %al */ - : "=a" (value) - : "d" (port16)); + "inb (%1)" /* value in %al */ + : "=a" (value) + : "d" (port16)); return (value); } -extern __inline__ uint16_t inw(int port) +extern __GNU_INLINE uint16_t +inw(int port) { uint16_t port16 = (uint16_t)port; uint16_t value; __asm__ __volatile__( - "inw (%1)" /* value in %ax */ - : "=a" (value) - : "d" (port16)); + "inw (%1)" /* value in %ax */ + : "=a" (value) + : "d" (port16)); return (value); } -extern __inline__ uint32_t inl(int port) +extern __GNU_INLINE uint32_t +inl(int port) { uint16_t port16 = (uint16_t)port; uint32_t value; __asm__ __volatile__( - "inl (%1)" /* value in %eax */ - : "=a" (value) - : "d" (port16)); + "inl (%1)" /* value in %eax */ + : "=a" (value) + : "d" (port16)); return (value); } -extern __inline__ void outb(int port, uint8_t value) +extern __GNU_INLINE void +outb(int port, uint8_t value) { uint16_t port16 = (uint16_t)port; __asm__ __volatile__( - "outb (%1)" - : /* no output */ - : "a" (value), "d" (port16)); + "outb (%1)" + : /* no output */ + : "a" (value), "d" (port16)); } -extern __inline__ void outw(int port, uint16_t value) +extern __GNU_INLINE void +outw(int port, uint16_t value) { uint16_t port16 = (uint16_t)port; __asm__ __volatile__( - "outw (%1)" - : /* no output */ - : "a" (value), "d" (port16)); + "outw (%1)" + : /* no output */ + : "a" (value), "d" (port16)); } -extern __inline__ void outl(int port, uint32_t value) +extern __GNU_INLINE void +outl(int port, uint32_t value) { uint16_t port16 = (uint16_t)port; __asm__ __volatile__( - "outl (%1)" - : /* no output */ - : "a" (value), "d" (port16)); + "outl (%1)" + : /* no output */ + : "a" (value), "d" (port16)); } #if defined(_BOOT) -extern __inline__ void sync_instruction_memory(caddr_t v, size_t len) +extern __GNU_INLINE void +sync_instruction_memory(caddr_t v, size_t len) { __asm__ __volatile__("nop"); } |
