1*ca987d46SWarner Losh/*-
2*ca987d46SWarner Losh * Copyright (c) 2011-2014 Robert N. M. Watson
3*ca987d46SWarner Losh * All rights reserved.
4*ca987d46SWarner Losh *
5*ca987d46SWarner Losh * This software was developed by SRI International and the University of
6*ca987d46SWarner Losh * Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
7*ca987d46SWarner Losh * ("CTSRD"), as part of the DARPA CRASH research programme.
8*ca987d46SWarner Losh *
9*ca987d46SWarner Losh * Redistribution and use in source and binary forms, with or without
10*ca987d46SWarner Losh * modification, are permitted provided that the following conditions
11*ca987d46SWarner Losh * are met:
12*ca987d46SWarner Losh * 1. Redistributions of source code must retain the above copyright
13*ca987d46SWarner Losh *    notice, this list of conditions and the following disclaimer.
14*ca987d46SWarner Losh * 2. Redistributions in binary form must reproduce the above copyright
15*ca987d46SWarner Losh *    notice, this list of conditions and the following disclaimer in the
16*ca987d46SWarner Losh *    documentation and/or other materials provided with the distribution.
17*ca987d46SWarner Losh *
18*ca987d46SWarner Losh * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19*ca987d46SWarner Losh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20*ca987d46SWarner Losh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21*ca987d46SWarner Losh * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22*ca987d46SWarner Losh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23*ca987d46SWarner Losh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24*ca987d46SWarner Losh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25*ca987d46SWarner Losh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26*ca987d46SWarner Losh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27*ca987d46SWarner Losh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28*ca987d46SWarner Losh * SUCH DAMAGE.
29*ca987d46SWarner Losh *
30*ca987d46SWarner Losh * $FreeBSD$
31*ca987d46SWarner Losh */
32*ca987d46SWarner Losh
33*ca987d46SWarner Losh/*
34*ca987d46SWarner Losh * MIPS segment definitions.
35*ca987d46SWarner Losh */
36*ca987d46SWarner Losh__mips_ckseg_cached__ = 0xffffffff80000000;	/* BSD kernel here. */
37*ca987d46SWarner Losh__mips64_xkphys_cached__ = 0x9800000000000000;	/* Device memory here. */
38*ca987d46SWarner Losh__mips64_xkphys_uncached__ = 0x9000000000000000; /* Device I/O here. */
39*ca987d46SWarner Losh
40*ca987d46SWarner Losh/*
41*ca987d46SWarner Losh * Physical addresses of various peripherals.
42*ca987d46SWarner Losh */
43*ca987d46SWarner Losh__cheri_flash_base__ = 0x74000000;
44*ca987d46SWarner Losh__cheri_sdcard_base__ = 0x7f008000;
45*ca987d46SWarner Losh
46*ca987d46SWarner Losh/*
47*ca987d46SWarner Losh * Location of boot2 in flash.
48*ca987d46SWarner Losh */
49*ca987d46SWarner Losh__cheri_flash_boot_loader_base_ = 0x03fe0000;
50*ca987d46SWarner Losh__cheri_flash_boot_loader_vaddr__ = __mips64_xkphys_cached__ +
51*ca987d46SWarner Losh    __cheri_flash_base__ + __cheri_flash_boot_loader_base_;
52*ca987d46SWarner Losh
53*ca987d46SWarner Losh/*
54*ca987d46SWarner Losh * Location of boot file system in flash.
55*ca987d46SWarner Losh */
56*ca987d46SWarner Losh__cheri_flash_bootfs_base__ = 0x1820000;
57*ca987d46SWarner Losh__cheri_flash_bootfs_len__ = 0x27c0000;
58*ca987d46SWarner Losh__cheri_flash_bootfs_vaddr__ = __mips64_xkphys_cached__ +
59*ca987d46SWarner Losh    __cheri_flash_base__ + __cheri_flash_bootfs_base__;
60*ca987d46SWarner Losh
61*ca987d46SWarner Losh/*
62*ca987d46SWarner Losh * Location of SD card controller.
63*ca987d46SWarner Losh */
64*ca987d46SWarner Losh__cheri_sdcard_vaddr__ = __mips64_xkphys_uncached__ + __cheri_sdcard_base__;
65*ca987d46SWarner Losh
66*ca987d46SWarner Losh/*
67*ca987d46SWarner Losh * Location where the production kernel gets put.  This must agree with other
68*ca987d46SWarner Losh * definitions, such as in the kernel's own linker script.
69*ca987d46SWarner Losh *
70*ca987d46SWarner Losh * (As it happens, in the short run, we also place boot2 here, as Miniboot
71*ca987d46SWarner Losh * expects to find an ELF binary there -- but that will change.)
72*ca987d46SWarner Losh */
73*ca987d46SWarner Losh__kernel_base__ = 0x100000;
74*ca987d46SWarner Losh__kernel_vaddr__ = __mips64_xkphys_cached__ + __kernel_base__;
75*ca987d46SWarner Losh
76*ca987d46SWarner LoshOUTPUT_ARCH(mips)
77