1843e1988Sjohnlev# 2843e1988Sjohnlev# CDDL HEADER START 3843e1988Sjohnlev# 4843e1988Sjohnlev# The contents of this file are subject to the terms of the 5843e1988Sjohnlev# Common Development and Distribution License (the "License"). 6843e1988Sjohnlev# You may not use this file except in compliance with the License. 7843e1988Sjohnlev# 8843e1988Sjohnlev# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9843e1988Sjohnlev# or http://www.opensolaris.org/os/licensing. 10843e1988Sjohnlev# See the License for the specific language governing permissions 11843e1988Sjohnlev# and limitations under the License. 12843e1988Sjohnlev# 13843e1988Sjohnlev# When distributing Covered Code, include this CDDL HEADER in each 14843e1988Sjohnlev# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15843e1988Sjohnlev# If applicable, add the following below this CDDL HEADER, with the 16843e1988Sjohnlev# fields enclosed by brackets "[]" replaced with your own identifying 17843e1988Sjohnlev# information: Portions Copyright [yyyy] [name of copyright owner] 18843e1988Sjohnlev# 19843e1988Sjohnlev# CDDL HEADER END 20843e1988Sjohnlev# 21843e1988Sjohnlev 22843e1988Sjohnlev# 23*cd3e9333SAli Bahrami# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 24843e1988Sjohnlev# 25843e1988Sjohnlev 26*cd3e9333SAli Bahrami$mapfile_version 2 27843e1988Sjohnlev 28843e1988Sjohnlev# 29843e1988Sjohnlev# This is 1:1 mapped code to setup the kernel memory image. 30843e1988Sjohnlev# It needs to be after (in physical) the kernel bits, so that 31843e1988Sjohnlev# they have full 8 Meg of memory. 32843e1988Sjohnlev# 33*cd3e9333SAli BahramiLOAD_SEGMENT dboot { 34*cd3e9333SAli Bahrami FLAGS = READ WRITE EXECUTE; 35*cd3e9333SAli Bahrami NOHDR; 36*cd3e9333SAli Bahrami PADDR = 0x40800000; 37*cd3e9333SAli Bahrami VADDR = 0x40800000; 38*cd3e9333SAli Bahrami ASSIGN_SECTION { 39*cd3e9333SAli Bahrami IS_NAME = .data; 40*cd3e9333SAli Bahrami FILE_BASENAME = dboot.o; 41*cd3e9333SAli Bahrami }; 42*cd3e9333SAli Bahrami}; 43843e1988Sjohnlev 44843e1988Sjohnlev# 45843e1988Sjohnlev# kernel text segment 46843e1988Sjohnlev# 47*cd3e9333SAli BahramiLOAD_SEGMENT text { 48*cd3e9333SAli Bahrami FLAGS = READ EXECUTE; 49*cd3e9333SAli Bahrami NOHDR; 50*cd3e9333SAli Bahrami PADDR = 0x40000000; 51*cd3e9333SAli Bahrami VADDR = 0xf4c00000; 52*cd3e9333SAli Bahrami OS_ORDER = .text; 53*cd3e9333SAli Bahrami ASSIGN_SECTION { 54*cd3e9333SAli Bahrami TYPE = PROGBITS; 55*cd3e9333SAli Bahrami FLAGS = ALLOC !WRITE; 56*cd3e9333SAli Bahrami }; 57*cd3e9333SAli Bahrami}; 58843e1988Sjohnlev 59843e1988Sjohnlev# 60843e1988Sjohnlev# start the data segment on a new 4MB page boundary 61843e1988Sjohnlev# 62*cd3e9333SAli BahramiLOAD_SEGMENT data { 63*cd3e9333SAli Bahrami FLAGS = READ WRITE EXECUTE; 64*cd3e9333SAli Bahrami PADDR = 0x40400000; 65*cd3e9333SAli Bahrami VADDR = 0xf5000000; 66*cd3e9333SAli Bahrami OS_ORDER = .data; 67*cd3e9333SAli Bahrami ASSIGN_SECTION { 68*cd3e9333SAli Bahrami TYPE = PROGBITS; 69*cd3e9333SAli Bahrami FLAGS = ALLOC WRITE; 70*cd3e9333SAli Bahrami }; 71*cd3e9333SAli Bahrami ASSIGN_SECTION { 72*cd3e9333SAli Bahrami TYPE = NOBITS; 73*cd3e9333SAli Bahrami FLAGS = ALLOC WRITE; 74*cd3e9333SAli Bahrami }; 75*cd3e9333SAli Bahrami}; 76843e1988Sjohnlev 77*cd3e9333SAli BahramiNOTE_SEGMENT note { 78*cd3e9333SAli Bahrami ASSIGN_SECTION { 79*cd3e9333SAli Bahrami TYPE = NOTE; 80*cd3e9333SAli Bahrami }; 81*cd3e9333SAli Bahrami}; 82