|
|||
Prex Home / Browse Source - Prex Version: 0.9.0 |
|||
root/bsp/boot/x86/pc/startup.c/* [<][>][^][v][top][bottom][index][help] */DEFINITIONSThis source file includes following definitions.1 /*- 2 * Copyright (c) 2005-2009, Kohsuke Ohtani 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 3. Neither the name of the author nor the names of any co-contributors 14 * may be used to endorse or promote products derived from this software 15 * without specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30 #include <sys/param.h> 31 #include <sys/bootinfo.h> 32 #include <boot.h> 33 34 #define SCREEN_80x25 1 35 /* #define SCREEN_80x50 1 */ 36 37 extern paddr_t lo_mem; 38 extern paddr_t hi_mem; 39 40 /* 41 * Setup boot information. 42 * 43 * Note: We already got the memory size via BIOS call in head.S. 44 */ 45 static void 46 bootinfo_init(void) 47 { 48 struct bootinfo *bi = bootinfo; 49 50 /* 51 * Screen size 52 */ 53 #ifdef SCREEN_80x25 54 bi->video.text_x = 80; 55 bi->video.text_y = 25; 56 #else 57 bi->video.text_x = 80; 58 bi->video.text_y = 50; 59 #endif 60 61 /* 62 * Main memory 63 */ 64 bi->ram[0].base = 0; 65 bi->ram[0].size = (size_t)((1024 + hi_mem) * 1024); 66 bi->ram[0].type = MT_USABLE; 67 bi->nr_rams = 1; 68 69 /* 70 * Add BIOS ROM and VRAM area 71 */ 72 if (hi_mem != 0) { 73 bi->ram[1].base = lo_mem * 1024; 74 bi->ram[1].size = (size_t)((1024 - lo_mem) * 1024); 75 bi->ram[1].type = MT_MEMHOLE; 76 bi->nr_rams++; 77 } 78 } 79 80 void 81 startup(void) 82 { 83 84 bootinfo_init(); 85 } /* [<][>][^][v][top][bottom][index][help] */ | |||
Copyright© 2005-2009 Kohsuke Ohtani |