Poster | Thread |
MEGA_RJ_MICAL
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 6:22:25
| | [ #41 ] |
|
|
|
Super Member |
Joined: 13-Dec-2019 Posts: 1200
From: AMIGAWORLD.NET WAS ORIGINALLY FOUNDED BY DAVID DOYLE | | |
|
| |
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 9:11:36
| | [ #42 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12791
From: Norway | | |
|
| @Samurai_Crow
Quote:
Excellent news! AmigaOS 4.0 was kind of a false-start anyway. The Interfaces used by the Amiga SG kernel were slower to access than the original offset tables on 68k. Hopefully they can fix that in their next generation. Exec TG anyone? |
“slower to access than the original offset tables on 68k”
the original JMP table is treated as an emulation layer, a 2en class citizen, stack-based argument is translated into 68K CPU registers A0/A7-D0/D7, in stubs, translating from modern stack-based API to emulated API (register based). So, it always be slower to use the old API. Of course, interface API is always faster. As internally the OLD API will be calling the new API.
68K programs Call “JMP func(A6)” .. 68k_stub() (Petunia JIT stops on illegal instruction, and calls the Stub function.) .... 68k registers to arguments. ...... library native PowerPc routine. …. Result to 68k register D0. .. End of 68KStub. 68K program continues.
Removing the interfaces means you like to make all programs 2en class citizens. This does not make sense to me. way do you think its good idea for PowerPC progrmas to use emulated 680x0 registers as default?
The only mistake if any was to pass the interface as an extra argument on the stack, it was unnecessary, as library will always have access to itself, the object-oriented paradigm, never really made sense here. I’m debut full it effects the OS in a major way, its after all micro optimalisation.
Last edited by NutsAboutAmiga on 05-Jul-2021 at 09:30 AM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 09:27 AM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 09:18 AM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 09:17 AM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 09:13 AM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
BSzili
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 9:33:31
| | [ #43 ] |
|
|
|
Regular Member |
Joined: 16-Nov-2013 Posts: 447
From: Unknown | | |
|
| @NutsAboutAmiga
Careful now. You are dangerously close to turning this thread into yet another endless technical discussion about computer architectures _________________ This is just like television, only you can see much further. |
|
Status: Offline |
|
|
Cool_amigaN
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 10:55:50
| | [ #44 ] |
|
|
|
Super Member |
Joined: 6-Oct-2006 Posts: 1226
From: Athens/Greece | | |
|
| I think this is rather big news as it's the first time someone is trying to build a distro out of OS4.1. Also, it shows a clear sign that at least business entity is still willing to invest more on OS4. Who knows what they might to incorporate next? A new kernel, a new WB replacement (hey Ambient is still open source, right?). IMO while they are at it, perhaps they would consider porting core elements of enhancer into MorphOS as well. Having a better GFX system (and sale it) would benefit all sides. _________________
|
|
Status: Offline |
|
|
Samurai_Crow
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 11:33:34
| | [ #45 ] |
|
|
|
Elite Member |
Joined: 18-Jan-2003 Posts: 2320
From: Minnesota, USA | | |
|
| @NutsAboutAmiga
MorphOS doesn't use interfaces and runs faster because of it. Double indirection of every function call does that to OS4 |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 11:52:24
| | [ #46 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12791
From: Norway | | |
|
| |
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 12:01:31
| | [ #47 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12791
From: Norway | | |
|
| @Cool_amigaN
Ambient is open source, Wonderer is open source Dopus5 is open source Scalos is open source.
Workbench re-implementation have done many times, it’s not the hardest part.
intuition / dos & graphics, console.device, input.device are the corner stones, 2en to that is drivers, and you need a lot of drivers, if they are not going to use Hyperion drivers.
I agree with TRIPOS, it’s going to take long time to have a replacement.
but they only need a minimum, so they can boot up, then they can let the users copy stuff over from “AmigaOS4.1 Classic” or some other version of the OS. Won’t be pleasant experience, for the end users, I’m sure there be problems with configuration files, and other mismatches.
Last edited by NutsAboutAmiga on 05-Jul-2021 at 12:14 PM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 12:14 PM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 12:08 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 12:06:46
| | [ #48 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12791
From: Norway | | |
|
| |
Status: Offline |
|
|
IridiumFX
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 12:38:14
| | [ #49 ] |
|
|
|
Member |
Joined: 7-Apr-2017 Posts: 80
From: London, UK | | |
|
| @NutsAboutAmiga
I apologise, I am not really into AOS 4 ABI, but rather than "virtual 68K registers", or the double indirection of a struct->funtion(struct, args), what's preventing a base + displacement call on the PowerPC, like the exec of old ? Are you aware of any specific reason ?
|
|
Status: Offline |
|
|
Trixie
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 13:37:17
| | [ #50 ] |
|
|
|
Amiga Developer Team |
Joined: 1-Sep-2003 Posts: 2089
From: Czech Republic | | |
|
| @Samurai_Crow
Quote:
MorphOS doesn't use interfaces and runs faster because of it. |
Would you care to provide any test/benchmark results to support your argument?
_________________ The Rear Window blog
AmigaOne X5000/020 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 13:47:02
| | [ #51 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12791
From: Norway | | |
|
| @IridiumFX
Base offsets, vs interface offsets.
Base offsets:
All Base offsets are 6 bytes offsets, for etch function, so it’s 2bytes aligned.
Interfaces offsets:
have offsets of sizeof(void *) that’s 4 bytes, so it has 4 bytes alignment.
Quote:
what's preventing a base + displacement call on the PowerPC |
I believe PowerPC likes 4 bytes alignment so it’s better. Quote:
like the exec of old ? Are you aware of any specific reason ? |
PowerPC has 32 general purpose registers. 680x0 has 8 data registers, and 8 address registers. Generally the CPUs are different, you can maybe map these 16 registers onto the 32 registers. Petunia JIT need to build from ground up like that, and GCC and development tools need to altered to fit your needs. Variable arguments are off Couse not possible on registers, that has to be in stack, and for recursion, you can’t overwrite arguments becouse then recusion does not work.
Last edited by NutsAboutAmiga on 05-Jul-2021 at 02:07 PM. Last edited by NutsAboutAmiga on 05-Jul-2021 at 01:48 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
Samurai_Crow
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 14:00:45
| | [ #52 ] |
|
|
|
Elite Member |
Joined: 18-Jan-2003 Posts: 2320
From: Minnesota, USA | | |
|
| @Trixie
I just have the word of Steven Solie that AmigaOS 4 uses double-indirection to have the interfaces point to the base pointers. No benchmark. He said it was that way before he joined the team so "it is what it is". |
|
Status: Offline |
|
|
Trixie
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 14:33:55
| | [ #53 ] |
|
|
|
Amiga Developer Team |
Joined: 1-Sep-2003 Posts: 2089
From: Czech Republic | | |
|
| @Samurai_Crow
I'd rather be interested in tangible, measurable results showing how exactly the library interface design impacts system performance on PowerPC machines. Because without such results, this kind of talk is purely academic.
_________________ The Rear Window blog
AmigaOne X5000/020 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition |
|
Status: Offline |
|
|
Samurai_Crow
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 14:49:43
| | [ #54 ] |
|
|
|
Elite Member |
Joined: 18-Jan-2003 Posts: 2320
From: Minnesota, USA | | |
|
| @Trixie
Academic discussion is all I can offer right now because my MorphOS box is a 1.5 GHz G4 and the MIcroA1 is an 800 MHz PPC 750FX. The comparisons wouldn't be fair because niether can run the other one's OS. |
|
Status: Offline |
|
|
FairBoy
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 14:50:59
| | [ #55 ] |
|
|
|
Member |
Joined: 8-Jun-2020 Posts: 76
From: Unknown | | |
|
| @Samurai_Crow An interface is just a table of function pointers as NutsAboutAmiga correctly stated. No idea where somebody would spot an extra indirection there. Maybe when some alcohol is involved or, to be fair, maybe you just misunderstood Solie. The only extra work to be done is querying the interface which usually happens once at lib load time and therefore has zero performance impact on anything.
|
|
Status: Offline |
|
|
Samurai_Crow
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 15:29:09
| | [ #56 ] |
|
|
|
Elite Member |
Joined: 18-Jan-2003 Posts: 2320
From: Minnesota, USA | | |
|
| @FairBoy
Quote:
FairBoy wrote: @Samurai_Crow An interface is just a table of function pointers as NutsAboutAmiga correctly stated. No idea where somebody would spot an extra indirection there. Maybe when some alcohol is involved or, to be fair, maybe you just misunderstood Solie. The only extra work to be done is querying the interface which usually happens once at lib load time and therefore has zero performance impact on anything.
|
Ok. So it's just an indirect jump with 2 instructions executed back to back. (Load followed by an indirect subroutine jump.)
Sometime I'll have to look up how MorphOS does it then. I know that the Trance JIT uses 16 of the 31 registers on the PowerPC to emulate the registers of the 68020 so that is faster than what was described earlier by the Petunia JIT using all stack passing. |
|
Status: Offline |
|
|
Hypex
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 15:32:53
| | [ #57 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11180
From: Greensborough, Australia | | |
|
| @All
I just read the article and images about this alleged independant OS4 bootable ISO image. I conclude it is not fully independant nor an alternative OS4 distro. The reading doesn't state there is a downloafable ISO image. The reading states an ISO image is created using an existing OS4 volume from some Enhancer installer. Even the reboot instructions are a soft reboot and not a full boot from the new ISO. It would be a mix of AmigaKit OS and Amiga OS4. Still, it could actually be a good idea, as no OS4 ISO can boot into a modern system with a modern or recent Radeon card. And it's a pain to update the present OS4 ISO so it boots with a modern Radeon driver. Last edited by Hypex on 05-Jul-2021 at 03:35 PM.
|
|
Status: Offline |
|
|
Hypex
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 15:48:32
| | [ #58 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11180
From: Greensborough, Australia | | |
|
| @Trixie
Okay here's a slightly odd example as it's slightly technical. An OS4 trap code exception. But it's the smallest example I could find precompiled to demonstrate an OS4 library call.
Trap.c:
#include #include
uint32 trapCode(struct ExceptionContext *ctx, struct ExecBase *SysBase, APTR userData) { struct ExecIFace *IExec = (struct ExecIFace *)SysBase->MainInterface;
IExec->DebugPrintF("Exception at instruction pointer %p\n", ctx->ip); /* To recover from this, we need to skip the offending instruction, * otherwise, it will re-try the instruciton. * Note: This depends on the type of instruction. Refer to the * "PowerPC Programming Environments for 32 bit Microprocessors" * book for more information. */ ctx->ip += 4;
return 1; }
int main(int argc, char **argv) { /* This functions sets an exception handler for catching "trap" * instructions. See for a list of possible * exceptions */ IExec->SetTaskTrap(TRAPNUM_TRAP, &trapCode, 0);
/* Generate an exception */ __asm volatile ("trap");
return 0; }
Trap.s:
.file "Trap.c" .section .rodata .align 2 .LC0: .string "Exception at instruction pointer %p\n" .section ".text" .align 2 .globl trapCode .type trapCode, @function trapCode: mflr %r8 stwu %r1,-32(%r1) lis %r7,.LC0@ha stw %r29,20(%r1) mr %r29,%r3 stw %r8,36(%r1) lwz %r3,12(%r3) lwz %r6,632(%r4) la %r4,.LC0@l(%r7) stw %r3,8(%r1) lwz %r5,748(%r6) mr %r3,%r6 mtctr %r5 bctrl lwz %r4,12(%r29) li %r3,1 lwz %r0,36(%r1) addi %r9,%r4,4 stw %r9,12(%r29) mtlr %r0 lwz %r29,20(%r1) addi %r1,%r1,32 blr .size trapCode, .-trapCode .align 2 .globl main .type main, @function main: mflr %r3 stwu %r1,-16(%r1) lis %r9,IExec@ha lis %r5,trapCode@ha la %r5,trapCode@l(%r5) li %r6,0 stw %r3,20(%r1) lwz %r4,IExec@l(%r9) lwz %r11,588(%r4) mr %r3,%r4 lis %r4,0x700 mtctr %r11 bctrl trap lwz %r0,20(%r1) li %r3,0 addi %r1,%r1,16 mtlr %r0 blr .size main, .-main .ident "GCC: (GNU) 3.4.4 (AmigaOS build 20050716)"
Examine away! |
|
Status: Offline |
|
|
bison
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 15:52:06
| | [ #59 ] |
|
|
|
Elite Member |
Joined: 18-Dec-2007 Posts: 2112
From: N-Space | | |
|
| @BSzili
Quote:
Careful now. You are dangerously close to turning this thread into yet another endless technical discussion about computer architectures |
Too late.
@Hypex
Quote:
I conclude it is not fully independant nor an alternative OS4 distro. |
Yeah, the only way it makes sense is if the intention is to eventually replace the entire OS. I view the current state as a work in progress.Last edited by bison on 05-Jul-2021 at 03:54 PM.
_________________ "Unix is supposed to fix that." -- Jay Miner |
|
Status: Offline |
|
|
MEGA_RJ_MICAL
| |
Re: A-EON is internally testing Alpha releases of their own operating system Posted on 5-Jul-2021 16:42:46
| | [ #60 ] |
|
|
|
Super Member |
Joined: 13-Dec-2019 Posts: 1200
From: AMIGAWORLD.NET WAS ORIGINALLY FOUNDED BY DAVID DOYLE | | |
|
| |
Status: Offline |
|
|