From owner-cvs-all@FreeBSD.ORG Sat May 24 19:03:10 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4373137B401; Sat, 24 May 2003 19:03:10 -0700 (PDT) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFB2843F75; Sat, 24 May 2003 19:03:09 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id B17C42A8B1; Sat, 24 May 2003 19:03:09 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org In-Reply-To: <200305242058.h4OKwliu004071@repoman.freebsd.org> Date: Sat, 24 May 2003 19:03:09 -0700 From: Peter Wemm Message-Id: <20030525020309.B17C42A8B1@canning.wemm.org> Subject: Re: cvs commit: src/gnu/usr.bin/cc/cc_int Makefile amd64.patch X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 May 2003 02:03:10 -0000 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