Annotation of Gnu-Mach/i386/i386at/mem.c, revision 1.1.1.3

1.1       root        1: /*
                      2:  * Mach Operating System
                      3:  * Copyright (c) 1991,1990,1989 Carnegie Mellon University
                      4:  * All Rights Reserved.
                      5:  *
                      6:  * Permission to use, copy, modify and distribute this software and its
                      7:  * documentation is hereby granted, provided that both the copyright
                      8:  * notice and this permission notice appear in all copies of the
                      9:  * software, derivative works or modified versions, and any portions
                     10:  * thereof, and that both notices appear in supporting documentation.
                     11:  *
                     12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
                     13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
                     14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
                     15:  *
                     16:  * Carnegie Mellon requests users of this software to return to
                     17:  *
                     18:  *  Software Distribution Coordinator  or  [email protected]
                     19:  *  School of Computer Science
                     20:  *  Carnegie Mellon University
                     21:  *  Pittsburgh PA 15213-3890
                     22:  *
                     23:  * any improvements or extensions that they make and grant Carnegie Mellon
                     24:  * the rights to redistribute these changes.
                     25:  */
                     26: 
                     27: #include <device/io_req.h>
                     28: #include <i386/model_dep.h>
                     29: 
                     30: /* This provides access to any memory that is not main RAM */
                     31: 
                     32: /*ARGSUSED*/
                     33: int
                     34: memmmap(dev, off, prot)
1.1.1.2   root       35: dev_t          dev;
1.1       root       36: vm_offset_t    off;
                     37: vm_prot_t      prot;
                     38: {
1.1.1.3 ! root       39:        struct vm_page *p;
        !            40: 
1.1       root       41:        if (off == 0)
                     42:                return 0;
1.1.1.3 ! root       43: 
        !            44:        /*
        !            45:         * The legacy device mappings are included in the page tables and
        !            46:         * need their own test.
        !            47:         */
        !            48:        if (off >= 0xa0000 && off < 0x100000)
        !            49:                goto out;
        !            50: 
        !            51:        p = vm_page_lookup_pa(off);
        !            52: 
        !            53:        if (p != NULL) {
1.1       root       54:                return -1;
1.1.1.3 ! root       55:        }
        !            56: 
        !            57: out:
        !            58:        return i386_btop(off);
1.1       root       59: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.