Welcome, Guest. Please login or register.

Author Topic: Kickstarter for buying and open source Amiga OS  (Read 10028 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show all replies
Re: Kickstarter for buying and open source Amiga OS
« on: August 22, 2013, 12:34:55 AM »
Quote from: Karlos;745747
Does it really, though? Possibly a bit philosophical, but it loads 68K object code, but in the end and whether running interpretively or JIT, it's not 68K opcodes that are actually being physically executed. Eventually, it's a PPC native task doing the work.

It is indeed impossible to have SMP on that ecosystem. It is not enough to modify just system API but the software must be modified, too, where needed.
« Last Edit: August 22, 2013, 12:40:50 AM by itix »
My Amigas: A500, Mac Mini and PowerBook
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show all replies
Re: Kickstarter for buying and open source Amiga OS
« Reply #1 on: August 22, 2013, 01:20:44 PM »
Quote from: psxphill;745796
Your biggest problem is going to be library reentrancy / atomic data update issues.


On the other hand OpenLibrary() is relatively expensive call anyway so having to stop all cores when executing init/cleanup vectors  is not necessarily that costly.

Intuition has more critical Forbid/Permit sections (i.e. layer hooks) that can get quite costly. Or at least I guess so... :)
My Amigas: A500, Mac Mini and PowerBook
 

Offline itix

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 2380
    • Show all replies
Re: Kickstarter for buying and open source Amiga OS
« Reply #2 on: August 22, 2013, 02:46:16 PM »
Quote

So far, the only 'user visible' changes are that some fields in
SysBase are NULL or zero, that previously had values:

* ThisTask is NULL (this is now per-CPU)
  - You should have been using FindTask(NULL)  anyway!


This is serious issue considering backwards compatibility. It is relevant only when running 68k binaries but using SysBase->ThisTask was always valid.

When writing new software or recompiling one (you are probably going to change ThisTask name to something else, right?) it is of course no issue.

Quote

But if someone *did* make a SMP m68k processor, there are MMU tricks that can be used to 'magically fix' the altered SysBase fields for pre-existing m68k programs - so compatibility is with AmigaOS 3.x is still possible.


I fear issue would be performance when handling SysBase access with MMU. You have to alter Sysbase->ThisTask but other fields like DeviceList must be exactly same on each CPU. Is it possible without slowing down the system too much?

Another question is how are you handling interrupts? To my understanding handling interrupt will not halt other cores. It makes sense but is not compatible to the original implementation. It can break some software and possibly more than some drivers.
My Amigas: A500, Mac Mini and PowerBook