ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/main_unix.cpp
Revision 1.58 - (view) (annotate) - [select for diffs]
2004-01-12T15:29:25Z (20 years, 6 months ago) by cebix
Branch: MAIN
CVS Tags: nigel-build-15, nigel-build-16
Changes since 1.57: +1 -1 lines
Diff to previous 1.57
Happy New Year! :)

Revision 1.57 - (view) (annotate) - [select for diffs]
2003-11-21T14:19:58Z (20 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.56: +2 -2 lines
Diff to previous 1.56
Implement lazy icache range invalidation. Disable for now until it shows
a real benefit over only 2%

Revision 1.56 - (view) (annotate) - [select for diffs]
2003-10-12T22:39:57Z (20 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.55: +3 -1 lines
Diff to previous 1.55
Merge in __PAGEZERO hack from Michael Z. Sliczniak so that REAL_ADDRESSING
mode can work under Darwin.

Revision 1.55 - (view) (annotate) - [select for diffs]
2003-10-12T21:21:35Z (20 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.54: +5 -2 lines
Diff to previous 1.54
Report failure to install the SIGSEGV handler correctly

Revision 1.54 - (view) (annotate) - [select for diffs]
2003-09-29T07:02:58Z (20 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.53: +30 -6 lines
Diff to previous 1.53
New SIGSEGV API so that skip-instruction requests are more explicit. Yes,
that's api change, but that's cooler now for SheepShaver. ;-)

Revision 1.53 - (view) (annotate) - [select for diffs]
2003-07-25T13:41:58Z (20 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.52: +2 -0 lines
Diff to previous 1.52
fix for no-threads case for an emulated 68k [Todd Vierling]

Revision 1.52 - (view) (annotate) - [select for diffs]
2003-05-14T06:50:05Z (21 years, 2 months ago) by gbeauche
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51
New API to ignore a SIGSEGV fault. This should help on SheepShaver/x86 for now
since I still don't know why MacOS would like to write to ROM on a particular
test.

Revision 1.51 - (view) (annotate) - [select for diffs]
2002-11-24T20:07:25Z (21 years, 7 months ago) by gbeauche
Branch: MAIN
CVS Tags: nigel-build-12, nigel-build-13
Changes since 1.50: +15 -5 lines
Diff to previous 1.50
Add changes from Brian Johnson:
- Update MIPSpro compiler flags
- Only define static variables if they are to be used
- Try to lock the pthreads mutex prior to unlocking/destroying it

Revision 1.50 - (view) (annotate) - [select for diffs]
2002-09-17T16:08:07Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.49: +13 -1 lines
Diff to previous 1.49
Make FlushCodeRange aware of the JIT compiler's flush_icache()

Revision 1.49 - (view) (annotate) - [select for diffs]
2002-09-16T15:06:24Z (21 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.48: +2 -0 lines
Diff to previous 1.48
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>

BTW, this nukes a warning when build on FreeBSD 4.6

Revision 1.48 - (view) (annotate) - [select for diffs]
2002-07-31T16:46:14Z (21 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.47: +55 -20 lines
Diff to previous 1.47
- 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

Revision 1.47 - (view) (annotate) - [select for diffs]
2002-05-16T15:48:06Z (22 years, 1 month ago) by gbeauche
Branch: MAIN
Changes since 1.46: +27 -0 lines
Diff to previous 1.46
- 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.

Revision 1.46 - (view) (annotate) - [select for diffs]
2002-05-12T11:10:50Z (22 years, 2 months ago) by gbeauche
Branch: MAIN
Changes since 1.45: +7 -0 lines
Diff to previous 1.45
Implement the "ignoresegv" feature from SheepShaver. This is Unix-specific
so far. Target platform is currently Linux/x86.

Revision 1.45 - (view) (annotate) - [select for diffs]
2002-02-22T17:48:31Z (22 years, 4 months ago) by cebix
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44
- default floppy device under Linux is now /dev/fd?u1440 because /dev/fd?H1440
  is deprecated

Revision 1.44 - (view) (annotate) - [select for diffs]
2002-02-07T16:10:55Z (22 years, 5 months ago) by cebix
Branch: MAIN
Changes since 1.43: +49 -11 lines
Diff to previous 1.43
cleaned up pthread attributes [Brian Johnson]

Revision 1.43 - (view) (annotate) - [select for diffs]
2002-01-22T17:15:09Z (22 years, 5 months ago) by cebix
Branch: MAIN
Changes since 1.42: +10 -0 lines
Diff to previous 1.42
GNOME-style about box and GNOME file entries are used if libgnomeui is present

Revision 1.42 - (view) (annotate) - [select for diffs]
2002-01-15T14:58:37Z (22 years, 5 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-15012002
Changes since 1.41: +1 -1 lines
Diff to previous 1.41
- documentation updates
- 2001 -> 2002
- version 0.9 -> 1.0

Revision 1.41 - (view) (annotate) - [select for diffs]
2001-10-07T19:50:20Z (22 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.40: +4 -4 lines
Diff to previous 1.40
prepared XPRAM code for PowerMac emulation (8192 bytes NVRAM)

Revision 1.40 - (view) (annotate) - [select for diffs]
2001-07-14T20:01:19Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.39: +2 -1 lines
Diff to previous 1.39
- disk.cpp looks for HFS partition info in the disk image; this makes it
  possible to, for example, use MacOS-partitioned hard disks and removable
  media under B2/Unix even if the OS doesn't understand Mac partition maps
  by specifying the appropriate block device name as a Mac volume
- fixed typo in audio_dummy.cpp
- added minimally required UDP tunneling code to ether_dummy.cpp
- main_unix.cpp: if pthreads are not supported, we trigger the Ethernet
  interrupt in the 60Hz ticker; this makes UDP tunneling work under
  NetBSD/m68k (as the only form of networking)

Revision 1.39 - (view) (annotate) - [select for diffs]
2001-07-09T11:22:00Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.38: +31 -124 lines
Diff to previous 1.38
- ADB has its own interrupt flag, INTFLAG_ADB
- ADBMouseMoved(), ADBMouseDown/Up() and ADBKeyDown/Up() trigger the ADB
  interrupt
- ADB mutex is only used for mouse movement (the only input state where it
  matters)
- adb.cpp: toggling relative mouse mode resets mouse_x/y
- PrimeTime(0) schedules a timer task with 0 delay time; this is still not
  the correct implementation, but it makes MacSyndicate work...
- Unix: pthreads are preferred to POSIX.4 timers for 60Hz ticks because the
  timers drift badly under Linux and the thread can compensate for drifting
  well enough
- Unix: moved GetTicks_usec() and Delay_usec() to timer_unix.cpp
- video_x.cpp: X mouse acceleration is disabled in relative mouse mode because
  MacOS does its own acceleration
- video_x.cpp: palette[].pixel and palette[].flags are always preset
- video_x.cpp: decoupled X event handling from 60Hz video refresh cycle by
  using select() with a timeout on the X fd

Revision 1.38 - (view) (annotate) - [select for diffs]
2001-07-07T09:07:38Z (23 years ago) by gbeauche
Branch: MAIN
Changes since 1.37: +10 -10 lines
Diff to previous 1.37
- Try to map memory contiguously with base addresses returned in increasing
  order. No host memory region used for Mac emulation (ScratchMem, RAM, ROM,
  frame buffer) shall be allocated below the RAM space. Actually, MEMBaseDiff
  should be set to the min(above-mentioned address spaces).
  ==> Temporary fix for 64-bit addressing systems (e.g. Linux/ia64)

Revision 1.37 - (view) (annotate) - [select for diffs]
2001-07-03T15:59:47Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.36: +73 -14 lines
Diff to previous 1.36
- added support for platform-independant mutexes, currently only properly
  implemented under Unix
- adb.cpp uses mutexes for thread-safe mouse handling
- video_x.cpp: pressing Ctrl-F5 in windowed mode switches to a "grabbed"
  relative mouse mode, useful for some games
- video_x.cpp: fixed some bugs relating to the hotkeys (key releases are no
  longer treated as hotkeys)

Revision 1.36 - (view) (annotate) - [select for diffs]
2001-06-30T17:21:54Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.35: +6 -6 lines
Diff to previous 1.35
- experimental gamma table support
- restructured video_x.cpp: uses classes for display types

Revision 1.35 - (view) (annotate) - [select for diffs]
2001-06-30T12:58:08Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.34: +3 -15 lines
Diff to previous 1.34
- fixed compilation problems under AmigaOS
- fsave/frestore on AmigaOS and NetBSD/m68k always use a 68882/68040-style
  FPU frame, eliminating the need for 68060 FPU patches

Revision 1.34 - (view) (annotate) - [select for diffs]
2001-06-28T21:19:59Z (23 years ago) by cebix
Branch: MAIN
Changes since 1.33: +1 -2 lines
Diff to previous 1.33
video_x.cpp supports resolution switching in windowed mode: the available
resolutions are 512x384, 640x480, 800x600, 1024x768 and 1280x1024 (the prefs
editor has to be updated to reflect this). The resolution selected in the
prefs editor is used as the default, but it can be changed in the Monitors
control panel. So far only tested with direct addressing.

Revision 1.33 - (view) (annotate) - [select for diffs]
2001-06-26T22:35:41Z (23 years ago) by gbeauche
Branch: MAIN
Changes since 1.32: +40 -73 lines
Diff to previous 1.32
- added SIGSEGV support for Linux/Alpha (to be checked), Darwin/PPC
- added uniform virtual memory allocation
  (supports mmap(), vm_allocate(), or fallbacks to malloc()/free())
- cleaned up memory allocation in main_unix.cpp

Revision 1.32 - (view) (annotate) - [select for diffs]
2001-04-01T12:11:44Z (23 years, 3 months ago) by cebix
Branch: MAIN
CVS Tags: release-0_9-1, snapshot-29052001
Changes since 1.31: +25 -26 lines
Diff to previous 1.31
- added help for command line options
- PrefsInit() removes all processed options

Revision 1.31 - (view) (annotate) - [select for diffs]
2001-03-28T16:53:39Z (23 years, 3 months ago) by cebix
Branch: MAIN
Changes since 1.30: +22 -4 lines
Diff to previous 1.30
- "-Ofast" option is supplied to MIPSPro compiler [Brian J. Johnson
- workaround for IRIX pthreads bug in Delay_usec() [Brian J. Johnson]

Revision 1.30 - (view) (annotate) - [select for diffs]
2001-02-02T20:52:57Z (23 years, 5 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-17022001
Changes since 1.29: +1 -1 lines
Diff to previous 1.29
- bumped version number to 0.9
- updated copyright dates

Revision 1.29 - (view) (annotate) - [select for diffs]
2001-01-25T22:24:36Z (23 years, 5 months ago) by cebix
Branch: MAIN
Changes since 1.28: +1 -1 lines
Diff to previous 1.28
- AmigaOS: implemented XPRAM watchdog thread
- AmigaOS: disabled 68060 Super Bypass mode because of CPU bug triggered
  by MacOS 8
- minor documentation updates

Revision 1.28 - (view) (annotate) - [select for diffs]
2001-01-04T19:50:22Z (23 years, 6 months ago) by cebix
Branch: MAIN
Changes since 1.27: +37 -13 lines
Diff to previous 1.27
- removed the INT16 prefs item type; use INT32 instead
- AmigaOS/Unix: it's now possible to specify preferences items on the
  command line
- Unix: command line options now take "--"-prefix, e.g. "--rominfo"

Revision 1.27 - (view) (annotate) - [select for diffs]
2000-11-30T16:20:52Z (23 years, 7 months ago) by cebix
Branch: MAIN
Changes since 1.26: +30 -43 lines
Diff to previous 1.26
- removed USE_MAPPED_MEMORY (unused)
- fixed Delay_usec() on Solaris

Revision 1.26 - (view) (annotate) - [select for diffs]
2000-11-02T19:41:52Z (23 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.25: +2 -2 lines
Diff to previous 1.25
- fixed Delay_usec() on IRIX
- xpram_func() calls Delay_usec() with a time of <1 second

Revision 1.25 - (view) (annotate) - [select for diffs]
2000-11-02T14:45:16Z (23 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.24: +19 -5 lines
Diff to previous 1.24
- added audio support for IRIX [Brian J. Johnson]
- improved Delay_usec() under FreeBSD and IRIX
- fixed typo ("HAVE_PTHREDS") in video_x.cpp

Revision 1.24 - (view) (annotate) - [select for diffs]
2000-10-17T12:24:59Z (23 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.23: +51 -15 lines
Diff to previous 1.23
- FPU is now available under NetBSD/m68k
- main_unix.cpp: added more emulated privileged instructions

Revision 1.23 - (view) (annotate) - [select for diffs]
2000-10-10T18:54:34Z (23 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.22: +5 -2 lines
Diff to previous 1.22
- updated spec file
- make install/uninstall targets support DESTDIR variable
- fixed compilation problem with DIRECT_ADDRESSING

Revision 1.22 - (view) (annotate) - [select for diffs]
2000-10-09T17:05:16Z (23 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.21: +24 -22 lines
Diff to previous 1.21
works again under NetBSD/m68k

Revision 1.21 - (view) (annotate) - [select for diffs]
2000-09-25T17:54:01Z (23 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.20: +5 -5 lines
Diff to previous 1.20
- adapted for mon V3.0 which is now the required minimum
- fixed gcc 2.96 compiler warnings

Revision 1.20 - (view) (annotate) - [select for diffs]
2000-09-22T17:14:28Z (23 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.19: +78 -10 lines
Diff to previous 1.19
- added USE_SCRATCHMEM_SUBTERFUGE
- added memory allocation in real and direct addressing modes through mmap()
- added the possibility to allocate the whole mac memory from zero

Revision 1.19 - (view) (annotate) - [select for diffs]
2000-07-25T13:52:17Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.18: +1 -1 lines
Diff to previous 1.18
- one_tick() is casted to the correct type when used as a POSIX.4 signal handler

Revision 1.18 - (view) (annotate) - [select for diffs]
2000-07-24T20:39:34Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.17: +1 -1 lines
Diff to previous 1.17
- CD-ROM under Linux only worked when a CD was in the drive when B2 was
  started
- Unix/main_unix.cpp: 1Hz interrupt wasn't triggered

Revision 1.17 - (view) (annotate) - [select for diffs]
2000-07-24T15:17:07Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.16: +17 -5 lines
Diff to previous 1.16
- Mac ROM and RAM are allocated with malloc() instead of "new" (because
  -fomit-frame-pointer breaks exceptions), and an error message is displayed
  if the allocation fails

Revision 1.16 - (view) (annotate) - [select for diffs]
2000-07-22T18:12:34Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.15: +65 -18 lines
Diff to previous 1.15
- improved timing of periodic threads

Revision 1.15 - (view) (annotate) - [select for diffs]
2000-07-22T16:07:20Z (23 years, 11 months ago) by cebix
Branch: MAIN
Changes since 1.14: +4 -1 lines
Diff to previous 1.14
- new FOURCC() macro in macos_util.h

Revision 1.14 - (view) (annotate) - [select for diffs]
2000-07-14T21:29:13Z (24 years ago) by cebix
Branch: MAIN
Changes since 1.13: +3 -0 lines
Diff to previous 1.13
- AmigaOS bug fixes by J.Lachmann (floppy, 2060scsi.device, "Add Volume" in
  prefs editor)
- imported some changes from the Windows source (1Hz interrupt, FPU fixes)

Revision 1.13 - (view) (annotate) - [select for diffs]
2000-07-13T16:12:32Z (24 years ago) by cebix
Branch: MAIN
CVS Tags: snapshot-13072000
Changes since 1.12: +2 -2 lines
Diff to previous 1.12
- DGA and SHM are only tried on local X11 displays
- re-integrated old window update method (better performance over a networked
  display connection), frameskip=0 selects new method, other values select
  old method
- fixed compilation errors

Revision 1.12 - (view) (annotate) - [select for diffs]
2000-07-13T13:47:10Z (24 years ago) by cebix
Branch: MAIN
Changes since 1.11: +636 -79 lines
Diff to previous 1.11
- first version to run natively on NetBSD/m68k

Revision 1.11 - (view) (annotate) - [select for diffs]
2000-04-10T18:53:02Z (24 years, 3 months ago) by cebix
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10
- updated copyright info: 1999->2000

Revision 1.10 - (view) (annotate) - [select for diffs]
2000-01-21T13:47:05Z (24 years, 5 months ago) by cebix
Branch: MAIN
CVS Tags: release-0_8-1
Changes since 1.9: +1 -1 lines
Diff to previous 1.9
- size of ExtFS finf helper file extended to 32 bytes to allow future expansion
  (the complete FInfo/FXInfo could be stored in it)
- main_unix.cpp: replaced TIMER_RELTIME (which doesn't seem to exist on
  Irix) by 0

Revision 1.9 - (view) (annotate) - [select for diffs]
1999-11-03T10:56:28Z (24 years, 8 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-22121999
Changes since 1.8: +31 -3 lines
Diff to previous 1.8
- imported UAE CPU 0.8.10 changes
- new utility functions Mac_memset, Mac2Host_memcpy, Host2Mac_memcpu and
  Mac2Mac_memcpy
- extfs.cpp: fixed bug in fs_rename() and fs_cat_move() (auxiliary IOParam
  block was not in Mac address space)
- some provisions for using UAE CPU compiler (doesn't work yet)

Revision 1.8 - (view) (annotate) - [select for diffs]
1999-10-31T23:18:36Z (24 years, 8 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-02111999
Changes since 1.7: +3 -0 lines
Diff to previous 1.7
- removed MemoryDispatch() replacement; routine from ROM is now used if
  possible
- rom_patches.cpp: check for double PACK 4 resources; if only one is found,
  assume that the ROM requires an FPU and issue a warning if FPU emulation
  is turned off
- UAE CPU opcode routines no longer return the cycle count
- main_unix.cpp: pressing Ctrl-C dumps the UAE CPU state before entering mon
- sys_unix.cpp: under Linux, partition sizes are read with BLKGETSIZE instead
  of llseek()

Revision 1.7 - (view) (annotate) - [select for diffs]
1999-10-28T15:33:14Z (24 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6
- added some 68040 instructions: CINV, CPUSH, MOVE16 (Ax)+,(Ay)+, MOVEC regs,
  and FPU state frames; enough to boot MacOS
- CPU type can be selected in GTK prefs editor

Revision 1.6 - (view) (annotate) - [select for diffs]
1999-10-27T16:59:46Z (24 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.5: +2 -0 lines
Diff to previous 1.5
- imported fixed UAE FPU from Lauri
- extfs.cpp: fixed bug with fsResolveWDCB in fs_get_wd_info()
- ExtFS: MAX_PATH_LENGTH is global, removed third parameter to
  add_path_component()
- rom_patches.cpp: added print_rom_info()
- Unix: added "-rominfo" command line argument
- extfs_unix.cpp: supports finder info and resource forks
- prefs_editor_gtk.cpp: tab widget is no longer scrollable

Revision 1.5 - (view) (annotate) - [select for diffs]
1999-10-26T16:56:45Z (24 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4
- small fixes to Makefile.in and configure script
- main_unix.cpp tested ENABLE_DGA instead of ENABLE_XF86_DGA

Revision 1.4 - (view) (annotate) - [select for diffs]
1999-10-26T16:28:37Z (24 years, 8 months ago) by cebix
Branch: MAIN
Changes since 1.3: +33 -0 lines
Diff to previous 1.3
- mon is called for illegal EMUL_OP selectors and when pressing Ctrl-C (Unix)
- moved MemoryDispatch() patch routine from PatchAfterStartup() to
  InstallDrivers()
- fixed one place where ROM replaces MemoryDispatch() by unimplemented trap
  when no MMU is present
- Unix: ROM breakpoint can now be set with "-break" command line argument
- some changes to configure script, mon is now compiled with readline support

Revision 1.3 - (view) (annotate) - [select for diffs]
1999-10-19T17:41:35Z (24 years, 8 months ago) by cebix
Branch: MAIN
CVS Tags: snapshot-21101999
Changes since 1.2: +6 -108 lines
Diff to previous 1.2
- added external file system
- moved most init/deinit code to InitAll()/ExitAll() in main.cpp

Revision 1.2 - (view) (annotate) - [select for diffs]
1999-10-07T13:15:14Z (24 years, 9 months ago) by cebix
Branch: MAIN
Changes since 1.1: +1 -1 lines
Diff to previous 1.1
- disabled X backing store

Revision 1.1 - (view) (annotate) - [select for diffs]
1999-10-03T14:16:25Z (24 years, 9 months ago) by cebix
Branch: MAIN
Branch point for: cebix
Initial revision

Convenience Links

Links to HEAD: (view) (annotate) Links to nigel-build-16: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a