Date: Sat, 19 Dec 2009 13:39:08 +0000 (UTC) From: Takahashi Yoshihiro <nyan@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r200730 - in user/nyan/pc98/sys/boot: common pc98 Message-ID: <200912191339.nBJDd8qe034705@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nyan Date: Sat Dec 19 13:39:07 2009 New Revision: 200730 URL: http://svn.freebsd.org/changeset/base/200730 Log: Don't use 15M-16M area on pc98. It's reserved for some devices. Modified: user/nyan/pc98/sys/boot/common/module.c user/nyan/pc98/sys/boot/pc98/Makefile.inc Modified: user/nyan/pc98/sys/boot/common/module.c ============================================================================== --- user/nyan/pc98/sys/boot/common/module.c Sat Dec 19 12:06:12 2009 (r200729) +++ user/nyan/pc98/sys/boot/common/module.c Sat Dec 19 13:39:07 2009 (r200730) @@ -313,6 +313,9 @@ file_loadraw(char *type, char *name) char *cp; int fd, got; vm_offset_t laddr; +#ifdef PC98 + struct stat st; +#endif /* We can't load first */ if ((file_findfile(NULL, NULL)) == NULL) { @@ -334,6 +337,14 @@ file_loadraw(char *type, char *name) return(CMD_ERROR); } +#ifdef PC98 + /* We cannot use 15M-16M area on pc98. */ + if (loadaddr < 0x1000000 && + fstat(fd, &st) == 0 && + (st.st_size == -1 || loadaddr + st.st_size > 0xf00000)) + loadaddr = 0x1000000; +#endif + laddr = loadaddr; for (;;) { /* read in 4k chunks; size is not really important */ @@ -439,6 +450,14 @@ mod_loadkld(const char *kldname, int arg ; do { +#ifdef PC98 + /* We cannot use 15M-16M area on pc98. */ + struct stat st; + if (loadaddr < 0x1000000 && + stat(filename, &st) == 0 && + (st.st_size == -1 || loadaddr + st.st_size > 0xf00000)) + loadaddr = 0x1000000; +#endif err = file_load(filename, loadaddr, &fp); if (err) break; Modified: user/nyan/pc98/sys/boot/pc98/Makefile.inc ============================================================================== --- user/nyan/pc98/sys/boot/pc98/Makefile.inc Sat Dec 19 12:06:12 2009 (r200729) +++ user/nyan/pc98/sys/boot/pc98/Makefile.inc Sat Dec 19 13:39:07 2009 (r200730) @@ -7,7 +7,7 @@ BINDIR?= /boot LOADER_ADDRESS?=0x100000 CFLAGS+= -ffreestanding -mpreferred-stack-boundary=2 \ -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -mno-sse3 \ - -Os + -Os -DPC98 LDFLAGS+= -nostdlib # BTX components
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912191339.nBJDd8qe034705>