Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 May 2003 19:03:09 -0700
From:      Peter Wemm <peter@wemm.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/gnu/usr.bin/cc/cc_int Makefile amd64.patch 
Message-ID:  <20030525020309.B17C42A8B1@canning.wemm.org>
In-Reply-To: <200305242058.h4OKwliu004071@repoman.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Peter Wemm wrote:
>   Modified files:
>     gnu/usr.bin/cc/cc_int Makefile 
>   Added files:
>     gnu/usr.bin/cc/cc_int amd64.patch 
>   Log:
>   Add a temporary indirect patch for gcc when targeting amd64.  This is to
>   give the cvs tree a surviving a 'make world'. 

For what its worth, 'make TARGET_ARCH=amd64 buildworld' and buildkernel etc
produce a viable, bootable system.

The main things missing still:
- threads (get/setusercontext/swapcontext/makecontext etc and kse kernel bits)
- USER_LDT (however, there is a syscall to set the %fs and %gs base values
    to arbitary 64 bit addresses).
- ACPI
- SMP
- kld module support (the elf_machdep.c relocator is wrong).
- finish the missing relocation types in rtld-elf/amd64/reloc.c (easy)
- boot blocks (need gcc -m32 to work)
- ppp(8) (compiler bug, hack in http://people.freebsd.org/~peter/hammer.diff,
    but gcc-3.3 would be much better)
- performance tuning (segment registers etc at context switch time, pmap)
- 'make release'
- X server
- gdb
- ddb (needs a dwarf2 based unwinder to get stack traces and a disassembler)
- libstdc++.so (build bug, tries to link libgcc.a (non-pic) into the .so,
    but the libstdc++.a works).
- crashdumps?
- teach libkvm about crashdumps.
- see if openssl can use the assembler x86-64 routines.
- 128TB of user process VM space
- full 2MB pmap page support in pmap
- SSE/SSE2 support in libc (the fpget/set*() functions need to adjust the
    SSE MXCSR register as well as the x87 control word).

Notable things that are working:
- 512GB of user process VM space for 64 bit apps
- 4GB of user process VM for 32 bit apps (well, 4K short of 4GB)
- fast syscall/sysret/swapgs/etc
- 4 level page table support (needs optimizing and 2MB pages need to be fixed)
- uses a 'direct mapped' memory segment in the kernel to avoid temporary
    mappings to get to page table pages.
- should support up to 512GB of physical memory
- i386 binary support, although it has quite a few missing bits.  The p4
    binaries work though.  I do not expect it to run many system level
    programs yet (the state of termios/ioctl consumers is unknown).

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030525020309.B17C42A8B1>