Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 2429e4a in mainline


Ignore:
Timestamp:
2011-07-01T16:43:09Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master
Children:
0feaae4
Parents:
f335225
Message:

add initial support for mips64
(it does not do anything useful so far and there are probably severe bugs and ABI violations, but it compiles)

Files:
87 added
2 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    rf335225 r2429e4a  
    3737@ "ia64" Intel IA-64
    3838@ "mips32" MIPS 32-bit
     39@ "mips64" MIPS 64-bit
    3940@ "ppc32" PowerPC 32-bit (iMac G4)
    4041@ "sparc64" Sun UltraSPARC 64-bit
     
    4647@ "lgxemul" GXEmul little endian
    4748! [PLATFORM=mips32] MACHINE (choice)
     49
     50% Machine type
     51@ "msim" MSIM
     52! [PLATFORM=mips64] MACHINE (choice)
    4853
    4954% Machine type
     
    122127
    123128% Kernel architecture
     129@ "mips64"
     130! [PLATFORM=mips64] KARCH (choice)
     131
     132% Kernel architecture
    124133@ "ppc32"
    125134! [PLATFORM=ppc32] KARCH (choice)
     
    165174
    166175% User space architecture
     176@ "mips64"
     177! [PLATFORM=mips64] UARCH (choice)
     178
     179% User space architecture
    167180@ "ppc32"
    168181! [PLATFORM=ppc32] UARCH (choice)
     
    206219@ "mips32"
    207220! [PLATFORM=mips32] BARCH (choice)
     221
     222% Boot architecture
     223@ "mips64"
     224! [PLATFORM=mips64] BARCH (choice)
    208225
    209226% Boot architecture
     
    229246@ "ecoff"
    230247! [PLATFORM=mips32&(MACHINE=bgxemul|MACHINE=lgxemul)] IMAGE (choice)
     248
     249% Image format
     250@ "binary"
     251! [PLATFORM=mips64] IMAGE (choice)
    231252
    232253
     
    256277@ "gcc_cross" GNU C Compiler (cross-compiler)
    257278@ "gcc_native" GNU C Compiler (native)
    258 ! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=ppc32] COMPILER (choice)
     279! [PLATFORM=arm32|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32] COMPILER (choice)
    259280
    260281% Compiler
     
    292313
    293314% Page hash table support
    294 ! [PLATFORM=ia64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
     315! [PLATFORM=ia64|PLATFORM=mips64|PLATFORM=sparc64] CONFIG_PAGE_HT (y)
    295316
    296317% Software integer division support
    297 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32] CONFIG_SOFTINT (y)
     318! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=arm32|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32] CONFIG_SOFTINT (y)
    298319
    299320% ASID support
    300 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
     321! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)
    301322
    302323% ASID FIFO support
    303 ! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
     324! [PLATFORM=ia64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)
    304325
    305326% OpenFirmware tree support
     
    322343
    323344% Support for SMP
    324 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
     345! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|(PLATFORM=mips64&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)
    325346
    326347% Debug build
     
    379400@ "generic" Keyboard or serial line
    380401@ "none" No input device
    381 ! [PLATFORM=ia32|(PLATFORM=arm32&MACHINE=testarm)|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_HID_IN (choice)
     402! [PLATFORM=ia32|(PLATFORM=arm32&MACHINE=testarm)|PLATFORM=amd64|PLATFORM=mips32|PLATFORM=mips64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_HID_IN (choice)
    382403
    383404% Input device class
     
    395416@ "generic" Monitor or serial line
    396417@ "none" No output device
    397 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&MACHINE=msim)] CONFIG_HID_OUT (choice)
     418! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=sparc64|PLATFORM=ppc32|(PLATFORM=ia64&MACHINE=i460GX)|(PLATFORM=mips32&MACHINE=msim)|(PLATFORM=mips64&MACHINE=msim)] CONFIG_HID_OUT (choice)
    398419
    399420% Output device class
     
    421442
    422443% Support for msim/GXemul keyboard
    423 ! [CONFIG_HID_IN=generic&PLATFORM=mips32] CONFIG_MIPS_KBD (y/n)
     444! [CONFIG_HID_IN=generic&(PLATFORM=mips32|PLATFORM=mips64)] CONFIG_MIPS_KBD (y/n)
    424445
    425446% Support for msim/GXemul printer
    426 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=mips32] CONFIG_MIPS_PRN (y/n)
     447! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=mips32|PLATFORM=mips64)] CONFIG_MIPS_PRN (y/n)
    427448
    428449% Support for GXemul keyboard
  • tools/autotool.py

    rf335225 r2429e4a  
    243243        outf.close()
    244244       
    245         args = [common['CC'], "-S", "-o", PROBE_OUTPUT, PROBE_SOURCE]
     245        args = [common['CC']]
     246        args.extend(common['CC_ARGS'])
     247        args.extend(["-S", "-o", PROBE_OUTPUT, PROBE_SOURCE])
    246248       
    247249        try:
     
    526528               
    527529                # Compiler
     530                common['CC_ARGS'] = []
    528531                if (config['COMPILER'] == "gcc_cross"):
    529532                        if (config['PLATFORM'] == "abs32le"):
     
    539542                                if (config['CROSS_TARGET'] == "mips32"):
    540543                                        gnu_target = "mipsel-linux-gnu"
     544                                        common['CC_ARGS'].append("-mabi=32")
    541545                       
    542546                        if (config['PLATFORM'] == "amd64"):
     
    558562                        if (config['PLATFORM'] == "mips32"):
    559563                                check_config(config, "MACHINE")
     564                                common['CC_ARGS'].append("-mabi=32")
    560565                               
    561566                                if ((config['MACHINE'] == "lgxemul") or (config['MACHINE'] == "msim")):
     
    566571                                        target = "mips32eb"
    567572                                        gnu_target = "mips-linux-gnu"
     573                       
     574                        if (config['PLATFORM'] == "mips64"):
     575                                check_config(config, "MACHINE")
     576                                common['CC_ARGS'].append("-mabi=64")
     577                               
     578                                if (config['MACHINE'] == "msim"):
     579                                        target = config['PLATFORM']
     580                                        gnu_target = "mips64el-linux-gnu"
    568581                       
    569582                        if (config['PLATFORM'] == "ppc32"):
Note: See TracChangeset for help on using the changeset viewer.