From owner-p4-projects@FreeBSD.ORG Thu Mar 2 01:33:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1471A16A423; Thu, 2 Mar 2006 01:33:16 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 891F516A420 for ; Thu, 2 Mar 2006 01:33:15 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51CCB43D45 for ; Thu, 2 Mar 2006 01:33:15 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k221XFFd089825 for ; Thu, 2 Mar 2006 01:33:15 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k221XE2B089822 for perforce@freebsd.org; Thu, 2 Mar 2006 01:33:14 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 2 Mar 2006 01:33:14 GMT Message-Id: <200603020133.k221XE2B089822@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 92632 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Mar 2006 01:33:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=92632 Change 92632 by kmacy@kmacy_storage:sun4v_work on 2006/03/02 01:32:47 disable magic traps in spill / fill handlers fix alignment of cleanwin at tl1 change tl0_end to more sensible tl1_end change size of pcb_pc to fix alignment trap Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/pcb.h#4 edit .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#12 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/pcb.h#4 (text+ko) ==== @@ -42,8 +42,8 @@ uint32_t pcb_ufp[64]; /* used for regs in handling user floating point exc */ uint64_t pcb_rwsp[MAXWIN]; /* spbuf sp's for each wbuf */ uint64_t pcb_flags; - uint32_t pcb_nsaved; /* number of windows saved in pcb_rw */ - uint32_t pcb_pc; + uint64_t pcb_nsaved; /* number of windows saved in pcb_rw */ + uint64_t pcb_pc; uint64_t pcb_sp; uint64_t pcb_pa; /* physical address of pcb */ uint64_t pcb_pad[4]; ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#12 (text+ko) ==== @@ -70,10 +70,14 @@ #include "assym.s" #if 1 +#define SPILL_FILL_MAGIC_TRAP_ON nop +#define SPILL_FILL_MAGIC_TRAP_OFF nop #define MAGIC_TRAP_ON ta 0x77 #define MAGIC_TRAP_OFF ta 0x78 /*#define MAGIC_TRAP_OFF nop */ #else +#define SPILL_FILL_MAGIC_TRAP_ON nop +#define SPILL_FILL_MAGIC_TRAP_OFF nop #define MAGIC_TRAP_ON nop #define MAGIC_TRAP_OFF nop #endif @@ -120,7 +124,7 @@ */ #define SPILL(storer, bias, size, asi) \ - MAGIC_TRAP_ON ;\ + SPILL_FILL_MAGIC_TRAP_ON ;\ mov 0 + bias, %g1 ;\ storer %l0, [%sp + %g1]asi ;\ mov size + bias, %g2 ;\ @@ -146,7 +150,7 @@ storer %i7, [%g5 + %g4]asi #define FILL(loader, bias, size, asi) \ - MAGIC_TRAP_ON ;\ + SPILL_FILL_MAGIC_TRAP_ON ;\ mov 0 + bias, %g1 ;\ loader [%sp + %g1]asi, %l0 ;\ mov size + bias, %g2 ;\ @@ -571,7 +575,7 @@ #define spill_64bit_asi(asi, target) \ SPILL(stxa, SPOFF, 8, asi) ; \ saved ; \ - MAGIC_TRAP_OFF ; \ + SPILL_FILL_MAGIC_TRAP_OFF ; \ retry ; \ .skip (31-27)*4 ; \ ba,a,pt %xcc, fault_64bit_##target ; \ @@ -606,7 +610,7 @@ #define fill_64bit_asi(asi, target) \ FILL(ldxa, SPOFF, 8, asi) ; \ restored ; \ - MAGIC_TRAP_OFF ; \ + SPILL_FILL_MAGIC_TRAP_OFF ; \ retry ; \ .skip (31-27)*4 ; \ ba,a,pt %xcc, fault_64bit_##target ; \ @@ -1837,7 +1841,7 @@ tl1_reserved 9 ! 0x200-0x208 tl1_insn_miss_209: insn_miss ! 0x209 - tl1_reserved 27 ! 0x20a-0x224 + tl1_reserved 26 ! 0x20a-0x223 tl1_clean_window_224: clean_window ! 0x224 tl1_divide_228: @@ -1894,8 +1898,8 @@ tl1_reserved 32 ! 0x2e0-0x2ff tl1_soft_traps: tl1_reserved 256 -.globl tl0_end -tl0_end: +.globl tl1_end +tl1_end: /* * no discretionary traps at TL 1 - leaving us with a 24k trap table */