diff options
author | marcel <marcel@FreeBSD.org> | 2010-01-11 18:10:13 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2010-01-11 18:10:13 +0000 |
commit | ef030a7c4e43d2fb1ce55adec76e421469429f09 (patch) | |
tree | 834b257443dad54b930e9a553da6a313a6b0093e /sys/conf/files.ia64 | |
parent | 5467bb48693ab3341378081f870bc148f76d5aa8 (diff) | |
download | FreeBSD-src-ef030a7c4e43d2fb1ce55adec76e421469429f09.zip FreeBSD-src-ef030a7c4e43d2fb1ce55adec76e421469429f09.tar.gz |
Use io(4) for I/O port access on ia64, rather than through sysarch(2).
I/O port access is implemented on Itanium by reading and writing to a
special region in memory. To hide details and avoid misaligned memory
accesses, a process did I/O port reads and writes by making a MD system
call. There's one fatal problem with this approach: unprivileged access
was not being prevented. /dev/io serves that purpose on amd64/i386, so
employ it on ia64 as well. Use an ioctl for doing the actual I/O and
remove the sysarch(2) interface.
Backward compatibility is not being considered. The sysarch(2) approach
was added to support X11, but support for FreeBSD/ia64 was never fully
implemented in X11. Thus, nothing gets broken that didn't need more work
to begin with.
MFC after: 1 week
Diffstat (limited to 'sys/conf/files.ia64')
-rw-r--r-- | sys/conf/files.ia64 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/conf/files.ia64 b/sys/conf/files.ia64 index e56faae..4c0c9dd 100644 --- a/sys/conf/files.ia64 +++ b/sys/conf/files.ia64 @@ -54,6 +54,7 @@ dev/atkbdc/psm.c optional psm atkbdc dev/fb/fb.c optional fb | vga dev/fb/vga.c optional vga dev/hwpmc/hwpmc_ia64.c optional hwpmc +dev/io/iodev.c optional io dev/kbd/kbd.c optional atkbd | sc | ukbd | usb2_input_kbd dev/syscons/scterm-teken.c optional sc dev/syscons/scvgarndr.c optional sc vga @@ -86,6 +87,7 @@ ia64/ia64/gdb_machdep.c optional gdb ia64/ia64/highfp.c standard ia64/ia64/in_cksum.c optional inet ia64/ia64/interrupt.c standard +ia64/ia64/iodev_machdep.c optional io ia64/ia64/locore.S standard no-obj ia64/ia64/machdep.c standard ia64/ia64/mca.c standard |