Commit Graph

  • e9584dbcc1 Add PROFILE_UNTRANSLATED_INSNS information. Interestingly, the following are the bottleneck now: DIVS, BSR.L (why isn't it translated yet?), bit-field instructions (I need to self-motivate enough for that), and A-Traps. gbeauche 2002-10-02 16:22:51 +0000
  • 94a9038826 - Remove dead code in readcpu.cpp concerning CONST_JUMP control flow. - Replace unused fl_compiled with fl_const_jump - Implement block inlining enabled with USE_INLINING && USE_CHECKSUM_INFO. However, this is currently disabled as it doesn't give much and exhibits even more a cache/code generation problem with FPU JIT compiled code. - Actual checksum values are now integral part of a blockinfo regardless of USE_CHECKSUM_INFO is set or not. Reduce number of elements in that structure and speeds up a little calculation of checksum of chained blocks. - Don't care about show_checksum() for now. gbeauche 2002-10-02 15:55:10 +0000
  • 21909f1eed - Rewrite blockinfo allocator et al. Use a template class so that this can work with other types related to blockinfos. - Add new method to compute checksums. This should permit code inlining and follow-ups of const_jumps without breaking the lazy cache invalidator. aka. chain infos for checksuming. TODO: Incomplete support thus disabled. gbeauche 2002-10-01 16:22:36 +0000
  • 518f982775 - CAN_JIT=yes has to be moved into the actual block containing JITSRCS. - Optimistically reenable gas/x86 assembly optimizations and JIT for FreeBSD as it used to work in the past there. If not, beat me. gbeauche 2002-10-01 09:58:08 +0000
  • 13e8cb3eec Huh, am I still asleep? Actually use the cpuemuX_nf.cpp pattern rather than the *.s variant. gbeauche 2002-10-01 09:51:09 +0000
  • 75de104c92 - Optimize use of quit_program variable. This is a real boolean for B2. - Remove unused/dead code concerning surroundings of (debugging). - m68k_compile_execute() is generated and optimized code now. gbeauche 2002-10-01 09:39:55 +0000
  • bdf9d76bb8 - #include "flags_x86.h" here to get NATICE_CC_?? helper macros - Add raw_cmp_b_mi() and raw_call_m_indexed() for generated m68k_compile_execute() function gbeauche 2002-10-01 09:37:03 +0000
  • c492269143 Drop cpuopti on x86 now that we have a fast JIT. I don't want to bother fixing cpuopti or workarounding code for any known and unknown gcc bug. gbeauche 2002-10-01 09:34:47 +0000
  • 98d1246815 - Let fullscreen DGA mode work again, even with a DirectColor visual. In that case, we do need add it when creating the window otherwise we result int a nice BadMatch for X_CreateWindow request. FIXME? - Fix typo and do enable VOSF in DGA mode, if necessary. gbeauche 2002-09-28 12:42:39 +0000
  • 8748b48b7a Disable USE_QUAD_DOUBLE for now and probably for good as (i) the emulator implementation is not correct, (ii) I don't know of any CPU which handles this kind of format *natively* with conformance to IEEE. gbeauche 2002-09-20 16:52:48 +0000
  • ec92457d68 Fix align_jumps for athlon, that's really "16" and gcc-3.2 sources contained the same error. ;-) gbeauche 2002-09-20 14:55:50 +0000
  • d7c677d077 - Implement {make,extract}_extended() for USE_QUAD_DOUBLE - Don't forget to fill in mantissa3 member for USE_QUAD_DOUBLE in make_extended_*() but make sure NaN, inf, zeros are handled beforehand gbeauche 2002-09-19 20:52:50 +0000
  • a5ba7ea5ac Don't define USE_LONG_DOUBLE when sizeof(long double) == 16. This still is not very clean but it should build now. Probably live with USE_LONG_DOUBLE for any case where native long double exists and sizeof > 8 ? gbeauche 2002-09-19 16:02:13 +0000
  • b765112cf9 Get rid of any "extern inline" bits. Use static inline instead as MIPS compilers don't really like the former syntax. gbeauche 2002-09-19 15:42:16 +0000
  • ecd3db832e - Rewrite raw_init_cpu() to match more details, from kernel sources. - Add possibility to tune code alignment to the underlying processor. However, this is turned off as I don't see much improvement and align_jumps = 64 for Athlon looks suspicious to me. - Remove two extra align_target() that are already covered. - Remove unused may_trap() predicate. gbeauche 2002-09-19 14:59:03 +0000
  • feca66d43e Optimize runtime assembler with shorter equivalents when the accumulator (%eax) is referenced along with immediates. gbeauche 2002-09-18 15:56:17 +0000
  • f2a9938685 Ensure the IEEE fpu core is used when building the JIT compiler gbeauche 2002-09-18 13:06:49 +0000
  • 54ac7a1493 Move -DSAHF_SETO_PROFITABLE down in x86 & gas specific block. Also ensure SAHF_SETO_PROFITABLE is defined when compiling the JIT. Aka I don't want to support obsolete and probably bogus code nowadays. gbeauche 2002-09-18 11:41:56 +0000
  • e268a5a072 Define SAHF_SETO_PROFITABLE on x86, aka restore full performance of the JIT compiler. ;-) BTW, also fixes some valgrind warnings. gbeauche 2002-09-18 10:25:05 +0000
  • c40279294a Don't forget to use vm_realease() to free up translation cache. Also free the right amount of memory that was previously allocated. gbeauche 2002-09-18 09:55:37 +0000
  • 599f7e845f Use vm_acquire() to allocate translation cache gbeauche 2002-09-18 07:50:55 +0000
  • 5df172aa53 Additions for the JIT compiler opcode translators + NOFLAGS variant of regular instruction handlers. gbeauche 2002-09-17 16:09:25 +0000
  • 8c7254e4c8 Additions for the JIT compiler (--enable-jit-compiler, --enable-jit-debug) gbeauche 2002-09-17 16:08:41 +0000
  • 6f3a214a15 Make FlushCodeRange aware of the JIT compiler's flush_icache() gbeauche 2002-09-17 16:08:07 +0000
  • 0b001e81a5 Additional string defs for JIT-specific options gbeauche 2002-09-17 16:07:21 +0000
  • ea8bdf1941 Update prefs editor with "JIT Compiler" pane gbeauche 2002-09-17 16:06:37 +0000
  • 4fc127c8df - Changes to support 68040 -> x86 dynamic translator - Globalize FLIGHT_RECORDER, possibly used in compiler/ sources as well gbeauche 2002-09-17 16:05:39 +0000
  • c0526db089 Import JIT compiler gbeauche 2002-09-17 16:04:06 +0000
  • ba346aa0d2 Check for for C99 math functions in the form *l() gbeauche 2002-09-16 15:40:48 +0000
  • 6af88bc787 Only use *l() math functions when they are available gbeauche 2002-09-16 15:40:23 +0000
  • ea98d02ce8 Conditionalize use of pthread_mutexattr_setpshared() as this is an optional POSIX feature from _POSIX_THREAD_PROCESS_SHARED group. Besides, Ulrich Drepper mentions "the kernel support for this option wasn't available until 2.5.7. Future versions of the thread library will support this option." <http://people.redhat.com/drepper/posix-option-groups.html> gbeauche 2002-09-16 15:06:24 +0000
  • 7c1352a5f7 updated autogen.sh to AutoGen(TM) 8.0 Professional :-) cebix 2002-09-16 14:54:19 +0000
  • d16a54362c #include <pthread.h> to get pthread_attr_t definition gbeauche 2002-09-16 14:48:53 +0000
  • a04889fe03 Portability fixes: use a switch to test for ac_cv_c_float_format gbeauche 2002-09-16 14:17:20 +0000
  • a0d72c749b Remove acconfig.h, obsoleted by new autoconf2.5 stuff gbeauche 2002-09-16 14:10:21 +0000
  • b60198fc17 - Moved minium autoconf support to 2.52+ - Add large file support for 2+ GB hard disk images gbeauche 2002-09-16 13:32:33 +0000
  • 453c6de0e2 Now use autoconf 2.52+ as it provides nice AC_SYS_LARGEFILE check and a fixed check for exit() prototype. gbeauche 2002-09-16 13:29:33 +0000
  • 5be5714a9e Remove TYPE_SOCKLEN_T check as it was merged in main configure script already. gbeauche 2002-09-16 13:28:17 +0000
  • 9cc4185fa2 - Make "ieee" core default, where applicable - Import gcc configury to determine HOST_FLOAT_FORMAT gbeauche 2002-09-16 12:03:07 +0000
  • 48986febc6 - FP endianness is now testing at configure time - Fix junk introduced in previous rev for extract_extended() gbeauche 2002-09-16 12:01:38 +0000
  • e59e4904d3 Fix "ieee" FPU core on big endian and without long double > double support - Handle conversions to/from host double for m68k long doubles formats - Make mathlib aware of sizeof(long double) == sizeof(double) arches - Attempt to fix FSCALE implementation gbeauche 2002-09-15 18:21:13 +0000
  • 57e73de5f6 USE_LONG_DOUBLE guards gbeauche 2002-09-13 15:06:42 +0000
  • dbc92fb334 Updates for new FPU core architecture, add "ieee" core (x86 for now) gbeauche 2002-09-13 12:51:24 +0000
  • a50871f87c Updates for new FPU core architecture gbeauche 2002-09-13 12:50:56 +0000
  • c327eee41b * Basilisk II JIT integration, phase 2: - Add new FPU core architecture - Clean fpu_x86_asm.h as it is no longer automatically generated gbeauche 2002-09-13 12:50:40 +0000
  • d3bda319a8 Use B2_mutex instead of pthread mutexes when ENABLE_EXCLUSIVE_SPCFLAGS is set. However, this is not used at the moment. Is there an advantage? People may want to add arch-optimized SPCFLAGS_{SET,CLEAR}. gbeauche 2002-09-01 16:32:02 +0000
  • 7972082c56 - Merge with Basilisk II/JIT cpu core, interpretive part for now - Clean use of USE_PREFETCH_BUFFER macro and dependent bits gbeauche 2002-09-01 15:17:13 +0000
  • 4f8d06b671 - implemented direct SCSI transfers (bypassing the buffer) - minor fixes cebix 2002-09-01 12:01:46 +0000
  • 3d2bac9f15 - it is now possible to make the serial drivers pipe their input/output to programs by using a '|' followed by a command line as the modem or printer port setting (instead of a device name like '/dev/ttyS0') [Brian Johnson] - the option "--config FILE" tells B2 to use a different config file cebix 2002-07-31 16:46:14 +0000
  • 586d299bfc fixes by Steven N. Hirsch (versioned symbols, module license) cebix 2002-07-23 18:02:47 +0000
  • 281460fba0 - New arch support for IP retrieval on SIGSEGV. gbeauche 2002-07-17 06:51:05 +0000
  • 370d5dcb95 Updated for latest Controller and EmulatorView class methods nigel 2002-07-02 10:23:39 +0000
  • 5ef6d3d08c Compatibility with latest C++ monitor object. Unfortunately this requires a terrible hack to guess the number of bytes per row for each mode, which is terribly hardware dependant, but is the only way at the moment. nigel 2002-07-02 09:47:57 +0000
  • 69847c3ea2 Correctly guard FreeBSD bits gbeauche 2002-06-27 14:28:59 +0000
  • abcf74039d Adapted to OO video scheme; Audio volume/muting/sample rate now settable jlachmann 2002-06-23 08:27:05 +0000
  • ca896c0838 Better mouse event control for full screen mode nigel 2002-06-05 10:18:51 +0000
  • 15baaf886a Sequencing changes in init_screen(), removed some global vars and functions, assorted tidyup, big changes to video_switch_to_mode() nigel 2002-06-05 10:11:40 +0000
  • 2880cf6251 Debug statements were not in D() macros nigel 2002-06-05 09:41:27 +0000
  • 3319c41d9d Un-necessary function and global int nigel 2002-06-02 12:20:38 +0000
  • f2749d2222 Hanging after minimising icon no longer relevant (I don't minimise anymore). Replaced with "fullscreen cursor jump" error. nigel 2002-06-02 10:26:55 +0000
  • fdac401a5a Sheet and fullscreen-safe input processing, small tidyup nigel 2002-05-30 12:50:21 +0000
  • 3053defd16 New way of storing if emulator is in full screen mode nigel 2002-05-30 12:46:15 +0000
  • 3b2c66602f Removed duplicate modes, new way of checking fullscreen mode, use sheets instead of panels for warnings & errors nigel 2002-05-30 12:43:32 +0000
  • 26f40f2630 Minor tidyup nigel 2002-05-30 12:36:17 +0000
  • dc41a2b10c EndSheet() to end non-modal (i.e. non Error) sheets, fixed leak in ErrorSheet() nigel 2002-05-30 12:28:38 +0000
  • c0201dfc68 A better screens prefs change nigel 2002-05-26 00:12:32 +0000
  • edc98d37d2 Removed redundant (old C++ environment) stuff nigel 2002-05-25 23:58:51 +0000
  • 0dcf103d24 Fix for screen radio-button selection bug, general tidyup. nigel 2002-05-25 23:56:05 +0000
  • d5995f053a Blocking sheet presentation routines, simpler interfaces nigel 2002-05-25 23:54:39 +0000
  • 72129b9348 Added simpler interfaces to panels (less arguments). Note that this file is now Objective C++ only, so I should rename it to .hh nigel 2002-05-25 23:54:02 +0000
  • 5288bdcb94 Extfs version doco change nigel 2002-05-23 12:57:07 +0000
  • 8bcd6c180e Added ScreenHideShow: action nigel 2002-05-23 12:48:38 +0000
  • d7c4d7afbf Backout "ignoresegv" support on FreeBSD/x86 for now. Unfortunately, the configure script would hang whereas standalone testing will pass all tests. Any idea why?? - Unix/sigsegv.cpp (ix86_skip_instruction): Add decoder for mozbl instruction. (SIGSEGV_REGISTER_FILE [FreeBSD/x86]): Note why we start at EDI offset rather than plain sigcontext pointer. i.e. I don't know sigset_t size beforehand and don't intend to. gbeauche 2002-05-20 18:12:01 +0000
  • edb377f181 Implement "ignoresegv" feature on FreeBSD/x86 - Update README and ChangeLog accordingly. gbeauche 2002-05-20 17:50:39 +0000
  • 2bd9ee71e8 Implement "ignoresegv" feature on FreeBSD/x86 (tested on FreeBSD 4.5) - sigsegv.cpp (ix86_skip_instruction): Add decoder for movzwl instructions. (main): oddly, FreeBSD doesn't seem to let a write to a page if it is write-only. Aka. make the page readable too. gbeauche 2002-05-20 17:49:04 +0000
  • b9e84cfb94 - Notify "ignoresegv" feature in ChangeLog gbeauche 2002-05-20 16:06:24 +0000
  • ae93f1e0d8 - Fix compilation on Linux/x86 with SIGCONTEXT_SUBTERFUGE gbeauche 2002-05-20 16:03:37 +0000
  • c2d3d08a7a - sigsegv.cpp (ix86_skip_instruction): Fix DEBUG compilation. gbeauche 2002-05-20 16:00:07 +0000
  • e81b9ace6d Implement "ignoresegv" feature on Darwin/ppc (tested on MacOS X) - Unix/sigsegv.cpp (powerpc_decode_instruction): New. (get_fault_instruction [MacOS X]): Factorize code. (get_fault_instruction [Linux/m68k]): Don't use expression statement. - README (ignoresegv): Add Darwin/ppc to list of supported platforms. gbeauche 2002-05-20 15:56:13 +0000
  • c47819020c Implement "ignoresegv" feature on Linux/ppc: - Unix/sigsegv.cpp (powerpc_skip_instruction): New from SheepShaver code. - README (ignoresegv): Add Linux/ppc to list of supported platforms. gbeauche 2002-05-19 21:58:42 +0000
  • 39d97f5b04 - video_vosh.h (Screen_fault_handler): Move unrecoverable fault case to... - main_unix.cpp (sigsegv_dump_state): ... Here. - sigsegv.h (sigsegv_fault_handler_t): Rename from sigsegv_handler_t. - sigsegv.h (sigsegv_state_dumper_t): New. gbeauche 2002-05-16 15:48:06 +0000
  • d5be07f449 - Merge with clisp SIGSEGV library version 1.2 with support added for HP-UX (contributed by Paolo Bonzini) - Add missing? include <ucontext.h> for Irix and OSF/1 support gbeauche 2002-05-12 13:51:22 +0000
  • 266fc18f8a Implement the "ignoresegv" feature from SheepShaver. This is Unix-specific so far. Target platform is currently Linux/x86. gbeauche 2002-05-12 11:10:50 +0000
  • d9892009cc Took out redundant method (was used before event handling re-write) nigel 2002-05-12 10:34:16 +0000
  • def097803e - B2_TOPDIR: new macro specifying where Basilisk II directory can be found. Update "links" rule to take care of it and don't PREFIX with current path if B2_TOPDIR yields an absolute path. (Simply cosmetic so that I can have multiple SS work dirs, effortlessly ;-) gbeauche 2002-05-09 09:55:45 +0000
  • 0b27de2c57 Minor corrections nigel 2002-05-05 09:48:17 +0000
  • 7244cdf618 Changes from recent Unix version nigel 2002-04-29 11:23:59 +0000
  • 3e76d393e1 Minor doco changes nigel 2002-04-29 11:17:29 +0000
  • cc423d283f default CD-ROM drive is /dev/cd0c on NetBSD cebix 2002-04-28 14:06:17 +0000
  • 00a32a9afb fixed compilation problem in fbdev code cebix 2002-04-28 12:09:23 +0000
  • 72bb930435 added some safety checks cebix 2002-04-25 13:14:11 +0000
  • 8871da753d - added infrastructure for multi-monitor support; only video_x.cpp is converted for the new scheme; not actually tested with a mult-monitor setup yet but at least single-monitor display doesn't seem to be broken (UAE banked addressing would definitely require some extensions to handle multiple frame buffers) - struct video_mode has an extra field that is free for use by platform- specific code cebix 2002-04-25 11:00:31 +0000
  • 665c64b4aa Add support to decode parcels-based ROMs - include/rom_patches.h (DecodeROM): Declare. - rom_patches.cpp (DecodeROM): Define. - Unix/main_unix.cpp, BeOS/main_beos.cpp (decode_lzss): Move to... - rom_patches.cpp (decode_lzss): ... here. - Unix/main_unix.cpp (main): Call DecodeROM(). - BeOS/main_beos.cpp (SheepShaver::load_rom): Call DecodeROM(). gbeauche 2002-04-21 15:07:09 +0000
  • 05d3e990a5 - Do match APPLE_16_BIT to the underlying X depth (either 15 or 16 bpp) gbeauche 2002-04-21 11:47:18 +0000
  • e89d481489 Match changes from glibc 2.2 (?) - #define status as __status - #define spinlock as __spinlock gbeauche 2002-04-21 11:42:30 +0000
  • d1b8e62cc9 - Invert AC_CHECK_LIB for readline and termcap so that the test program for readline detection is actually linked against -ltermcap -lreadline. Also add other term libs and finally prefer ncurses over the rest. gbeauche 2002-04-21 11:21:26 +0000
  • 4b96b51050 caddr_t change (to go with vm_alloc.* change?) from Unix files nigel 2002-04-05 13:00:05 +0000
  • 71c4389094 Modify getCFint32() to cope with values of zero (it was assuming 0 was an error condition) nigel 2002-04-05 12:15:34 +0000
  • c9563ddb5c - Clarified test of access() return value - s/strcpy/sprintf/ for cd_dev concatenation - Statically allocate fd_dev[] and cd_dev[] Better testing is yet to be done gbeauche 2002-03-29 16:24:18 +0000
  • 15ce8c14f9 Added 'nogui' to unimplemented nigel 2002-03-29 01:30:58 +0000