1 # 2 # CDDL HEADER START 3 # 4 # The contents of this file are subject to the terms of the 5 # Common Development and Distribution License (the "License"). 6 # You may not use this file except in compliance with the License. 7 # 8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 # or http://www.opensolaris.org/os/licensing. 10 # See the License for the specific language governing permissions 11 # and limitations under the License. 12 # 13 # When distributing Covered Code, include this CDDL HEADER in each 14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 # If applicable, add the following below this CDDL HEADER, with the 16 # fields enclosed by brackets "[]" replaced with your own identifying 17 # information: Portions Copyright [yyyy] [name of copyright owner] 18 # 19 # CDDL HEADER END 20 # 21 22 # 23 # Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 24 # 25 26 $mapfile_version 2 27 28 # 29 # This is 1:1 mapped code to setup the kernel memory image. 30 # It needs to be after (in physical) the kernel bits, so that 31 # they have full 8 Meg of memory. 32 # 33 LOAD_SEGMENT dboot { 34 FLAGS = READ WRITE EXECUTE; 35 NOHDR; 36 PADDR = 0x40800000; 37 VADDR = 0x40800000; 38 ASSIGN_SECTION { 39 IS_NAME = .data; 40 FILE_BASENAME = dboot.o; 41 }; 42 }; 43 44 # 45 # kernel text segment 46 # 47 LOAD_SEGMENT text { 48 FLAGS = READ EXECUTE; 49 NOHDR; 50 PADDR = 0x40000000; 51 VADDR = 0xf4c00000; 52 OS_ORDER = .text; 53 ASSIGN_SECTION { 54 TYPE = PROGBITS; 55 FLAGS = ALLOC !WRITE; 56 }; 57 }; 58 59 # 60 # start the data segment on a new 4MB page boundary 61 # 62 LOAD_SEGMENT data { 63 FLAGS = READ WRITE EXECUTE; 64 PADDR = 0x40400000; 65 VADDR = 0xf5000000; 66 OS_ORDER = .data; 67 ASSIGN_SECTION { 68 TYPE = PROGBITS; 69 FLAGS = ALLOC WRITE; 70 }; 71 ASSIGN_SECTION { 72 TYPE = NOBITS; 73 FLAGS = ALLOC WRITE; 74 }; 75 }; 76 77 NOTE_SEGMENT note { 78 ASSIGN_SECTION { 79 TYPE = NOTE; 80 }; 81 };