Aros/Platforms/PPC support
| Navbar for the Aros wikibook
|
| Aros User Docs |
| Aros User Docs |
| Aros User FAQs |
| Aros x86 Installing |
| Aros User Applications |
| Aros User DOS Shell |
| Aros/User/AmigaLegacy |
| Aros Dev Docs |
| Aros Developer Docs |
| Porting Software from AmigaOS/SDL |
| For SDL Beginners |
| For Zune Beginners |
| Zune .MUI Private Classes |
| Zune .MCC Shared Classes |
| Aros Developer BuildSystem |
| Specific platforms |
| 68k Support |
| PPC Power Architecture Support |
| Android support |
| Linux and FreeBSD Support |
| Windows Mingw and MacOSX Support |
| Aros x86 Audio/Video Support |
| Aros x86 Network Support |
| Aros x86 Complete System HCL |
| Aros Poseidon USB Support |
| x86-64 Support |
| misc |
| Aros Public License |
Contents |
[edit] PPC Native Environment
darwin-ppc-system - shouldn't say the PPC version runs on all MacOSX versions. 10.6.x (Snow Leopard) and newer have the Rosetta utility removed from them and run only darwin-i386-system Intel versions of AROS.
efika-chrp-ppc-boot-iso for Efika 5200B.
sam440-ppc-boot-iso for SAM 440ep
linux-ppc-system for PowerPC hosted linux.
[edit] PPC Compatible Drivers
The following specific chipsets and drivers are also available -:
IDE Controllers:
SATA Controllers:
GFX Chipsets:
Audio Chipsets:
Network Adaptors:
[edit] Reference
trunk/AROS/rom/dos. Make it conditional on AROS_STACK_GROWS_DOWNWARDS ? (although on all archs it currently seems to grow downwards) Is SP_OFFSET actually used, otherwise maybe best to remove it?
AFAIR SP_OFFSET is needed e.g. on PowerPC architectures.
[edit] Hosted
After attempts to use configure and various config files to generate makefiles in a graceful build approach, and having the config break on missing tools or failure to navigate the source code tree, I found possible solution by copying .h include directory tree from ./Development/include/<many directories> down to "each" functional file directory.
And, yes, "gcc -I/<include path> -c..." or "gcc -I../../..<etc>" was also attempted but failed (not sure why nested .h's can not seem to navigate/reuse the -I<include> passed to cc1).
That said, there is issue of which stdio.h structure to use, and when to use native OS stdio or hosted AROS stdio, because:
AROS FILE struct def:
#ifndef __typedef_FILE
# define __typedef_FILE
/* I need a named struct for FILE, so that I can use it in wchar.h> */
typedef struct __sFILE
{
int fd;
int flags;
} FILE;
# define _STDIO_EOF 0x0001L
# define _STDIO_ERROR 0x0002L
# define _STDIO_WRITE 0x0004L
# define _STDIO_READ 0x0008L
# define _STDIO_RDWR _STDIO_WRITE | _STDIO_READ
# define _STDIO_APPEND 0x0010L
#endif
while Darwin (using Mac OS X 10.5.8 for host) has following structure:
typedef struct __sFILE {
unsigned char *_p; /* current position in (some) buffer */
int _r; /* read space left for getc() */
int _w; /* write space left for putc() */
short _flags; /* flags, below; this FILE is free if 0 */
short _file; /* fileno, if Unix descriptor, else -1 */
struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */
int _lbfsize; /* 0 or -_bf._size, for inline putc */
/* operations */
void *_cookie; /* cookie passed to io functions */
int (*_close)(void *);
int (*_read) (void *, char *, int);
fpos_t (*_seek) (void *, fpos_t, int);
int (*_write)(void *, const char *, int);
/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
struct __sFILEX *_extra; /* additions to FILE to not break ABI */
int _ur; /* saved _r when _r is counting ungetc data */
/* tricks to meet minimum requirements even when malloc() fails */
unsigned char _ubuf[3]; /* guarantee an ungetc() buffer */
unsigned char _nbuf[1]; /* guarantee a getc() buffer */
/* separate buffer for fgetln() when line crosses buffer boundary */
struct __sbuf _lb; /* buffer for fgetln() */
/* Unix stdio files get aligned to block boundaries on fseek() */
int _blksize; /* stat.st_blksize (may be != _bf._size) */
fpos_t _offset; /* current lseek offset (see WARNING) */
} FILE;
Possibly explains the segment violation error on executing existing ppc binaries (from April 2011 build) which never successfully opens files, loads kernel modules and beyond "bus error":
./AROSBootstrap -c /Users/.../AROS-20110408-darwin-ppc-system/boot/AROSBootstrap.conf
-
- Note: required full filename path.
[edit] KNOWN WORKING HARDWARE
The following hardware has been tested with AROS and no issues have been found. If you have encountered differently please update this information. Read the old blog of M Schulz and his new one. An Aros Exec thread has been started.
[edit] KNOWN PROBLEMATIC HARDWARE
The following hardware should work, or is partially supported.
[edit] NOT WORKING HARDWARE
The following hardware does not work at all in AROS presently.
This page may need to be