diff options
author | Ulrich Drepper <drepper@redhat.com> | 1996-08-12 01:42:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1996-08-12 01:42:37 +0000 |
commit | a3e59be8d1e0dbb1d2ab25c3dc4b0ad04e159ad2 (patch) | |
tree | 4e507bb1c5005fdd7180feff4fa4729ca3790a8a /sysdeps/unix/sysv/linux/alpha/ioperm.c | |
parent | 267ca16a67be70e0361c212e805d43884aee4506 (diff) | |
download | glibc-a3e59be8d1e0dbb1d2ab25c3dc4b0ad04e159ad2.tar.gz glibc-a3e59be8d1e0dbb1d2ab25c3dc4b0ad04e159ad2.tar.xz glibc-a3e59be8d1e0dbb1d2ab25c3dc4b0ad04e159ad2.zip |
Update. cvs/libc-ud-960811
Mon Aug 12 03:31:58 1996 Ulrich Drepper <drepper@cygnus.com> * nss/nsswitch.c (__nss_configure_lookup): New function. Allows to specify services. * nss/XXX-lookup.h: Rename database variable and make global. * nss/databases.def: New file. Real names of all databases. * nss/nss.h: New file. Contains declaration useful for users and service developers. * nss/nsswitch.h: Move some declarations to nss/nss.h. * nss.h: New file. Wrapper around nss/nss.h. * nss/Makefile (headers): Add nss.h. (distributes): Add databases.h. Sun Aug 11 16:19:42 1996 Ulrich Drepper <drepper@cygnus.com> Help the poor people with fast machines by making sure only one `ar' commands works on the library. * autolock.sh: New file. Written by Tom Tromey. * Makerules (do-ar): Call autolock.sh shell script instead of directly using `ar'. * config.make.in: Make configuration variable AUTOLOCK which gets initialized by configure. * configure.in: Define variable AUTOLOCK to point to autolock.sh script and mark it to substitute. * string/Makefile: Add -fno-builtin for tst-strlen.c, too. * elf/dl-lookup.c (_dl_lookup_symbol): Allow self-referencing. Patch by David Mosberger-Tang. Sun Aug 11 01:12:38 1996 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/dl-machine.h (elf_alpha_fix_plt): Optimize LD_BIND_NOW startup by moving Icache flush from here ... (ELF_MACHINE_RUNTIME_TRAMPOLINE): ... to here. (ELF_MACHINE_USER_ADDRESS_MASK): Delete; it is unused. * sysdeps/alpha/divrem.h: Update comment to reflect the actual calling conventions. The code is already correct. Sun Aug 11 01:06:42 1996 Richard Henderson <rth@tamu.edu> * string/Makefile: Compile tester with -fno-builtin as we want to test our implementations, not gcc's.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/ioperm.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/ioperm.c | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/ioperm.c b/sysdeps/unix/sysv/linux/alpha/ioperm.c index 56331cb596..d24eabe473 100644 --- a/sysdeps/unix/sysv/linux/alpha/ioperm.c +++ b/sysdeps/unix/sysv/linux/alpha/ioperm.c @@ -59,14 +59,16 @@ I/O address space that's 512MB large!). */ * so the following defines apply to LCA as well. */ #define APECS_IO_BASE (0xfffffc01c0000000UL) +#define APECS_SPARSE_MEM (0xfffffc0200000000UL) #define APECS_DENSE_MEM (0xfffffc0300000000UL) -#define ALCOR_IO_BASE (0xfffffc8580000000UL) -#define ALCOR_DENSE_MEM (0xfffffc8600000000UL) +#define CIA_IO_BASE (0xfffffc8580000000UL) +#define CIA_SPARSE_MEM (0xfffffc8000000000UL) +#define CIA_DENSE_MEM (0xfffffc8600000000UL) enum { - IOSYS_JENSEN = 0, IOSYS_APECS = 1, IOSYS_ALCOR = 2 + IOSYS_JENSEN = 0, IOSYS_APECS = 1, IOSYS_CIA = 2 } iosys_t; struct ioswtch { @@ -83,18 +85,19 @@ static struct platform { const char *name; int io_sys; unsigned long bus_memory_base; + unsigned long sparse_bus_memory_base; } platform[] = { - {"Alcor", IOSYS_ALCOR, ALCOR_DENSE_MEM}, - {"Avanti", IOSYS_APECS, APECS_DENSE_MEM}, - {"Cabriolet", IOSYS_APECS, APECS_DENSE_MEM}, - {"EB164", IOSYS_ALCOR, ALCOR_DENSE_MEM}, - {"EB64+", IOSYS_APECS, APECS_DENSE_MEM}, - {"EB66", IOSYS_APECS, APECS_DENSE_MEM}, /* LCA same as APECS */ - {"EB66P", IOSYS_APECS, APECS_DENSE_MEM}, /* LCA same as APECS */ - {"Jensen", IOSYS_JENSEN, JENSEN_MEM}, - {"Mikasa", IOSYS_APECS, APECS_DENSE_MEM}, - {"Mustang", IOSYS_APECS, APECS_DENSE_MEM}, - {"Noname", IOSYS_APECS, APECS_DENSE_MEM}, /* LCA same as APECS */ + {"Alcor", IOSYS_CIA, CIA_DENSE_MEM, CIA_SPARSE_MEM}, + {"Avanti", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"Cabriolet", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"EB164", IOSYS_CIA, CIA_DENSE_MEM, CIA_SPARSE_MEM}, + {"EB64+", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"EB66", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"EB66P", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"Jensen", IOSYS_JENSEN, JENSEN_MEM, JENSEN_MEM}, + {"Mikasa", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"Mustang", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, + {"Noname", IOSYS_APECS, APECS_DENSE_MEM, APECS_SPARSE_MEM}, }; @@ -109,6 +112,7 @@ static struct { } io; static unsigned long bus_memory_base = -1; +static unsigned long sparse_bus_memory_base = -1; extern void __sethae (unsigned long); /* we can't use asm/io.h */ @@ -256,7 +260,7 @@ DCL_IN(jensen, inb, JENSEN) DCL_IN(jensen, inw, JENSEN) DCL_IN(jensen, inl, JENSEN) -/* The APECS functions are also used for ALCOR since they are +/* The APECS functions are also used for CIA since they are identical. */ DCL_SETHAE(apecs, APECS) @@ -332,6 +336,7 @@ init_iosys (void) if (strcmp (platform[i].name, systype) == 0) { bus_memory_base = platform[i].bus_memory_base; + sparse_bus_memory_base = platform[i].sparse_bus_memory_base; io.sys = platform[i].io_sys; if (io.sys == IOSYS_JENSEN) io.swp = &ioswtch[0]; @@ -382,7 +387,7 @@ _ioperm (unsigned long from, unsigned long num, int turn_on) { case IOSYS_JENSEN: base = JENSEN_IO_BASE; break; case IOSYS_APECS: base = APECS_IO_BASE; break; - case IOSYS_ALCOR: base = ALCOR_IO_BASE; break; + case IOSYS_CIA: base = CIA_IO_BASE; break; default: errno = ENODEV; return -1; @@ -498,6 +503,14 @@ _bus_base(void) return bus_memory_base; } +unsigned long +_bus_base_sparse(void) +{ + if (!io.swp && init_iosys () < 0) + return -1; + return sparse_bus_memory_base; +} + weak_alias (_sethae, sethae); weak_alias (_ioperm, ioperm); weak_alias (_iopl, iopl); @@ -508,3 +521,4 @@ weak_alias (_outb, outb); weak_alias (_outw, outw); weak_alias (_outl, outl); weak_alias (_bus_base, bus_base); +weak_alias (_bus_base_sparse, bus_base_sparse); |