mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-30 18:47:01 +00:00
149 lines
4.7 KiB
Plaintext
149 lines
4.7 KiB
Plaintext
|
/*
|
||
|
* Copyright (c) 2008 Open Kernel Labs, Inc. (Copyright Holder).
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* 1. Redistribution and use of OKL4 (Software) in source and binary
|
||
|
* forms, with or without modification, are permitted provided that the
|
||
|
* following conditions are met:
|
||
|
*
|
||
|
* (a) Redistributions of source code must retain this clause 1
|
||
|
* (including paragraphs (a), (b) and (c)), clause 2 and clause 3
|
||
|
* (Licence Terms) and the above copyright notice.
|
||
|
*
|
||
|
* (b) Redistributions in binary form must reproduce the above
|
||
|
* copyright notice and the Licence Terms in the documentation and/or
|
||
|
* other materials provided with the distribution.
|
||
|
*
|
||
|
* (c) Redistributions in any form must be accompanied by information on
|
||
|
* how to obtain complete source code for:
|
||
|
* (i) the Software; and
|
||
|
* (ii) all accompanying software that uses (or is intended to
|
||
|
* use) the Software whether directly or indirectly. Such source
|
||
|
* code must:
|
||
|
* (iii) either be included in the distribution or be available
|
||
|
* for no more than the cost of distribution plus a nominal fee;
|
||
|
* and
|
||
|
* (iv) be licensed by each relevant holder of copyright under
|
||
|
* either the Licence Terms (with an appropriate copyright notice)
|
||
|
* or the terms of a licence which is approved by the Open Source
|
||
|
* Initative. For an executable file, "complete source code"
|
||
|
* means the source code for all modules it contains and includes
|
||
|
* associated build and other files reasonably required to produce
|
||
|
* the executable.
|
||
|
*
|
||
|
* 2. THIS SOFTWARE IS PROVIDED ``AS IS'' AND, TO THE EXTENT PERMITTED BY
|
||
|
* LAW, ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||
|
* THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||
|
* PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. WHERE ANY WARRANTY IS
|
||
|
* IMPLIED AND IS PREVENTED BY LAW FROM BEING DISCLAIMED THEN TO THE
|
||
|
* EXTENT PERMISSIBLE BY LAW: (A) THE WARRANTY IS READ DOWN IN FAVOUR OF
|
||
|
* THE COPYRIGHT HOLDER (AND, IN THE CASE OF A PARTICIPANT, THAT
|
||
|
* PARTICIPANT) AND (B) ANY LIMITATIONS PERMITTED BY LAW (INCLUDING AS TO
|
||
|
* THE EXTENT OF THE WARRANTY AND THE REMEDIES AVAILABLE IN THE EVENT OF
|
||
|
* BREACH) ARE DEEMED PART OF THIS LICENCE IN A FORM MOST FAVOURABLE TO
|
||
|
* THE COPYRIGHT HOLDER (AND, IN THE CASE OF A PARTICIPANT, THAT
|
||
|
* PARTICIPANT). IN THE LICENCE TERMS, "PARTICIPANT" INCLUDES EVERY
|
||
|
* PERSON WHO HAS CONTRIBUTED TO THE SOFTWARE OR WHO HAS BEEN INVOLVED IN
|
||
|
* THE DISTRIBUTION OR DISSEMINATION OF THE SOFTWARE.
|
||
|
*
|
||
|
* 3. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ANY OTHER PARTICIPANT BE
|
||
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||
|
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||
|
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
*/
|
||
|
|
||
|
ENTRY(_start)
|
||
|
BOOTMEM_SIZE = 128K;
|
||
|
_start_text_phys = 0x00100000 + 0x200;
|
||
|
_start_text = _start_text_phys + 0xF0000000;
|
||
|
SECTIONS
|
||
|
{
|
||
|
.text _start_text : AT (ADDR(.text) - 0xF0000000)
|
||
|
{
|
||
|
*(.mb_header)
|
||
|
*(.text)
|
||
|
*(.text.*)
|
||
|
*(.gnu.linkonce.*)
|
||
|
*(.spinlock)
|
||
|
}
|
||
|
.rodata . : AT (ADDR(.rodata) - 0xF0000000)
|
||
|
{
|
||
|
*(.rodata*)
|
||
|
}
|
||
|
.roinit : AT(ADDR(.roinit) - 0xF0000000)
|
||
|
{
|
||
|
*(.roinit*)
|
||
|
}
|
||
|
. = ALIGN(4K);
|
||
|
_start_cpu_local = .;
|
||
|
.cpulocal . : AT (ADDR(.cpulocal) - 0xF0000000)
|
||
|
{
|
||
|
*(.data.cpulocal.tcb)
|
||
|
*(.data.cpulocal.utcb)
|
||
|
*(.data.cpulocal)
|
||
|
*(.data.ia32.cpulocal)
|
||
|
}
|
||
|
_end_cpu_local = .;
|
||
|
. = ALIGN(4K);
|
||
|
.data . : AT (ADDR(.data) - 0xF0000000)
|
||
|
{
|
||
|
*(.data)
|
||
|
*(.data.ia32.idt);
|
||
|
*(.data.ia32.exc_all);
|
||
|
*(.data.ia32.exc_common);
|
||
|
*(.data.*)
|
||
|
_bss_start = .;
|
||
|
*(.bss)
|
||
|
_bss_end = .;
|
||
|
}
|
||
|
. = ALIGN(4K);
|
||
|
.kdebug . : AT(ADDR(.kdebug) - 0xF0000000)
|
||
|
{
|
||
|
*(.kdebug)
|
||
|
*(.kdebug-bss)
|
||
|
*(.kdebug.*)
|
||
|
}
|
||
|
.sets . : AT(ADDR(.sets) - 0xF0000000)
|
||
|
{
|
||
|
. = ALIGN(16);
|
||
|
_start_setlist = .;
|
||
|
*(.setlist)
|
||
|
_end_setlist = .;
|
||
|
. = ALIGN(16);
|
||
|
_start_sets = .;
|
||
|
*(SORT(set_*))
|
||
|
_end_sets = .;
|
||
|
}
|
||
|
_end_text = ALIGN(4K);
|
||
|
_end_text_phys = _end_text - 0xF0000000;
|
||
|
. = ALIGN(4K);
|
||
|
.reserve_bootmem : AT(ADDR(.reserve_bootmem) - 0xF0000000)
|
||
|
{
|
||
|
*(.reserve_bootmem)
|
||
|
}
|
||
|
_start_init = . - 0xF0000000;
|
||
|
.init (. - 0xF0000000) :
|
||
|
{
|
||
|
*(.init)
|
||
|
*(.init.data)
|
||
|
*(.init.smp)
|
||
|
*(.init.*)
|
||
|
}
|
||
|
_end_init = .;
|
||
|
/DISCARD/ :
|
||
|
{
|
||
|
*(*)
|
||
|
*(.eh_frame)
|
||
|
*(.note)
|
||
|
*(.comment)
|
||
|
*(.delete)
|
||
|
}
|
||
|
_end_text_phys = _end_text - 0xF0000000;
|
||
|
_start_bootmem_phys = _start_bootmem - 0xF0000000;
|
||
|
_end_bootmem_phys = _end_bootmem - 0xF0000000;
|
||
|
}
|