diff options
author | Mark Peek <mp@FreeBSD.org> | 2003-11-21 01:29:18 +0000 |
---|---|---|
committer | Mark Peek <mp@FreeBSD.org> | 2003-11-21 01:29:18 +0000 |
commit | bed69ef0ec9e81ca9761172af46ba87f25c272a7 (patch) | |
tree | d55b4daad9b3e366bdec5c9aa1e38b761345aab1 /emulators | |
parent | ec0975dc4df403f14ed701b3983b412c442db028 (diff) | |
download | ports-bed69ef0ec9e81ca9761172af46ba87f25c272a7.tar.gz ports-bed69ef0ec9e81ca9761172af46ba87f25c272a7.zip |
Notes
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/psim-freebsd/Makefile | 8 | ||||
-rw-r--r-- | emulators/psim-freebsd/files/patch-gen_idecode.c | 58 | ||||
-rw-r--r-- | emulators/psim-freebsd/files/patch-gen_model.c | 11 | ||||
-rw-r--r-- | emulators/psim-freebsd/files/patch-lf.c | 53 |
4 files changed, 123 insertions, 7 deletions
diff --git a/emulators/psim-freebsd/Makefile b/emulators/psim-freebsd/Makefile index a6a5fee1823f..31817646187c 100644 --- a/emulators/psim-freebsd/Makefile +++ b/emulators/psim-freebsd/Makefile @@ -21,12 +21,6 @@ GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-psim --target=powerpc-freebsd-elf \ --program-suffix=psim -.include <bsd.port.pre.mk> - -.if ${OSVERSION} >= 501000 -BROKEN= "Does not compile" -.endif - pre-configure: @cd ${WRKSRC} ; ${RM} -rf dejagnu expect tcl texinfo @@ -45,4 +39,4 @@ cklatest: ftp://mirrors.rcn.net/mirrors/sources.redhat.com/${MASTER_SITE_SUBDIR}/ \ | ${GREP} gdb+dejagnu- -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/emulators/psim-freebsd/files/patch-gen_idecode.c b/emulators/psim-freebsd/files/patch-gen_idecode.c new file mode 100644 index 000000000000..8aac77126e62 --- /dev/null +++ b/emulators/psim-freebsd/files/patch-gen_idecode.c @@ -0,0 +1,58 @@ +--- sim/ppc/gen-idecode.c 2003/10/20 23:10:45 1.1 ++++ sim/ppc/gen-idecode.c 2003/10/20 23:16:21 +@@ -757,21 +757,21 @@ + + if (!generate_smp) { + +- lf_putstr(file, " +-/* CASE 1: NO SMP (with or with out instruction cache). +- +- In this case, we can take advantage of the fact that the current +- instruction address does not need to be returned to the cpu object +- after every execution of an instruction. Instead it only needs to +- be saved when either A. the main loop exits or B. A cpu-halt or +- cpu-restart call forces the loop to be re-enered. The later +- functions always save the current cpu instruction address. +- +- Two subcases also exist that with and that without an instruction +- cache. +- +- An additional complexity is the need to ensure that a 1:1 ratio +- is maintained between the execution of an instruction and the ++ lf_putstr(file, "\n\ ++/* CASE 1: NO SMP (with or with out instruction cache).\n\ ++\n\ ++ In this case, we can take advantage of the fact that the current\n\ ++ instruction address does not need to be returned to the cpu object\n\ ++ after every execution of an instruction. Instead it only needs to\n\ ++ be saved when either A. the main loop exits or B. A cpu-halt or\n\ ++ cpu-restart call forces the loop to be re-enered. The later\n\ ++ functions always save the current cpu instruction address.\n\ ++\n\ ++ Two subcases also exist that with and that without an instruction\n\ ++ cache.\n\ ++\n\ ++ An additional complexity is the need to ensure that a 1:1 ratio\n\ ++ is maintained between the execution of an instruction and the\n\ + incrementing of the simulation clock */"); + + lf_putstr(file, "\n"); +@@ -867,12 +867,12 @@ + + if (generate_smp) { + +- lf_putstr(file, " +-/* CASE 2: SMP (With or without ICACHE) +- +- The complexity here comes from needing to correctly restart the +- system when it is aborted. In particular if cpu0 requests a +- restart, the next cpu is still cpu1. Cpu0 being restarted after ++ lf_putstr(file, "\n\ ++/* CASE 2: SMP (With or without ICACHE)\n\ ++\n\ ++ The complexity here comes from needing to correctly restart the\n\ ++ system when it is aborted. In particular if cpu0 requests a\n\ ++ restart, the next cpu is still cpu1. Cpu0 being restarted after\n\ + all the other CPU's and the event queue have been processed */"); + + lf_putstr(file, "\n"); diff --git a/emulators/psim-freebsd/files/patch-gen_model.c b/emulators/psim-freebsd/files/patch-gen_model.c new file mode 100644 index 000000000000..bbb13f1fdbb9 --- /dev/null +++ b/emulators/psim-freebsd/files/patch-gen_model.c @@ -0,0 +1,11 @@ +--- sim/ppc/gen-model.c 2003/10/20 23:38:14 1.1 ++++ sim/ppc/gen-model.c 2003/10/20 23:38:53 +@@ -377,7 +377,7 @@ + lf_printf(file, " }\n"); + lf_printf(file, " }\n"); + lf_printf(file, "\n"); +- lf_printf(file, " error(\"Unknown model '%%s', Models which are known are:%%s\n\",\n"); ++ lf_printf(file, " error(\"Unknown model '%%s', Models which are known are:%%s\\n\",\n"); + lf_printf(file, " name,\n"); + lf_printf(file, " \""); + for(model_ptr = models; model_ptr; model_ptr = model_ptr->next) { diff --git a/emulators/psim-freebsd/files/patch-lf.c b/emulators/psim-freebsd/files/patch-lf.c new file mode 100644 index 000000000000..49fe575089df --- /dev/null +++ b/emulators/psim-freebsd/files/patch-lf.c @@ -0,0 +1,53 @@ +--- sim/ppc/lf.c 2003/10/20 23:08:19 1.1 ++++ sim/ppc/lf.c 2003/10/20 23:09:15 +@@ -273,28 +273,28 @@ + switch (file->type) { + case lf_is_c: + case lf_is_h: +- nr += lf_printf(file, "\ +-/* This file is part of the program psim. +- +- Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au> +- +- This program is free software; you can redistribute it and/or modify +- it under the terms of the GNU General Public License as published by +- the Free Software Foundation; either version 2 of the License, or +- (at your option) any later version. +- +- This program is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- GNU General Public License for more details. +- +- You should have received a copy of the GNU General Public License +- along with this program; if not, write to the Free Software +- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- +- -- +- +- This file was generated by the program %s */ ++ nr += lf_printf(file, "\n\ ++/* This file is part of the program psim.\n\ ++\n\ ++ Copyright (C) 1994-1995, Andrew Cagney <cagney@highland.com.au>\n\ ++\n\ ++ This program is free software; you can redistribute it and/or modify\n\ ++ it under the terms of the GNU General Public License as published by\n\ ++ the Free Software Foundation; either version 2 of the License, or\n\ ++ (at your option) any later version.\n\ ++\n\ ++ This program is distributed in the hope that it will be useful,\n\ ++ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ ++ GNU General Public License for more details.\n\ ++ \n\ ++ You should have received a copy of the GNU General Public License\n\ ++ along with this program; if not, write to the Free Software\n\ ++ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n\ ++ \n\ ++ --\n\ ++\n\ ++ This file was generated by the program %s */\n\ + ", filter_filename(file->program)); + break; + default: |