From kenneth.w.chen@intel.com Tue Jun 29 08:34:22 2004 Return-Path: X-Original-To: jbarnes@spamtin.engr.sgi.com Delivered-To: jbarnes@spamtin.engr.sgi.com Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by spamtin.engr.sgi.com (Postfix) with ESMTP id 818F7240726B for ; Tue, 29 Jun 2004 08:37:49 -0700 (PDT) Received: from imr2.americas.sgi.com (imr2.americas.sgi.com [192.48.203.141]) by cthulhu.engr.sgi.com (SGI-8.12.5/8.12.5) with ESMTP id i5TFbm3N1187220 for ; Tue, 29 Jun 2004 08:37:49 -0700 (PDT) Received: from mx2.sgi.com (mx2.SGI.COM [192.48.168.27]) by imr2.americas.sgi.com (8.12.9/8.12.10/SGI_generic_relay-1.2) with ESMTP id i5TFe4dx20992844 for ; Tue, 29 Jun 2004 08:40:05 -0700 (PDT) Received: from vger.kernel.org (vger.kernel.org [12.107.209.244]) by mx2.sgi.com (8.12.11/8.12.11/freebsd-nospam-3.3) with ESMTP id i5TFcbXP017042; Tue, 29 Jun 2004 08:38:37 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S265786AbUF2Pee (ORCPT + 1 other); Tue, 29 Jun 2004 11:34:34 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S265787AbUF2Pee (ORCPT ); Tue, 29 Jun 2004 11:34:34 -0400 Received: from fmr03.intel.com ([143.183.121.5]:50099 "EHLO hermes.sc.intel.com") by vger.kernel.org with ESMTP id S265783AbUF2Pea (ORCPT ); Tue, 29 Jun 2004 11:34:30 -0400 Received: from talaria.sc.intel.com (talaria.sc.intel.com [10.3.253.5]) by hermes.sc.intel.com (8.12.9-20030918-01/8.12.9/d: major-outer.mc,v 1.15 2004/01/30 18:16:28 root Exp $) with ESMTP id i5TFZcRZ005092 for ; Tue, 29 Jun 2004 15:35:38 GMT Received: from unix-os.sc.intel.com (unix-os.sc.intel.com [172.25.110.7]) by talaria.sc.intel.com (8.12.9-20030918-01/8.12.9/d: major-inner.mc,v 1.10 2004/03/01 19:21:36 root Exp $) with ESMTP id i5TFZaQu001549; Tue, 29 Jun 2004 15:35:41 GMT Received: from kwchenmobl (vpnfm002-039-dhcp-client.fm.intel.com [10.19.14.39]) by unix-os.sc.intel.com (8.11.6/8.11.2) with ESMTP id i5TFWaY12681; Tue, 29 Jun 2004 08:32:36 -0700 Message-Id: <200406291532.i5TFWaY12681@unix-os.sc.intel.com> From: "Chen, Kenneth W" To: Cc: "'Bjorn Helgaas'" , Subject: RE: BUG 2.6.7 hangs on boot (rx2600) Date: Tue, 29 Jun 2004 08:34:22 -0700 X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcRbQi7G9hoZsBVkT7ysaHkjuZ7ZFwCV312QABSWxWA= In-Reply-To: <200406291507.i5TF7JY12544@unix-os.sc.intel.com> X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409 X-Scanned-By: MIMEDefang 2.31 (www . roaringpenguin . com / mimedefang) Sender: linux-ia64-owner@vger.kernel.org Precedence: bulk X-Mailing-List: linux-ia64@vger.kernel.org X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on spamtin.engr.sgi.com X-Spam-Level: X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham version=2.63 Content-Type: X-UID: 5008 Chen, Kenneth W wrote on Tuesday, June 29, 2004 8:09 AM > David Mosberger wrote on Friday, June 25, 2004 10:55 PM > > >> True, but it's really ugly to add more special cases. Wouldn't it be > > >> better to explicitly pass the sp/bsp that need to be restored? > > >> (Caveat: can't use the normal calling conventions there; perhaps r17 > > >> and r18 could be used?) > > > > Ken> Yeah, but we have to update all the call sites, current efi_call_phys > > Ken> and two other PAL static/stacked calls. > > > > True, but I think there are only 3 call-sites. If it turns out to be > > _really_ ugly we can reonsider, but I think it might be a better > > choice in the long run. > > How does this patch look? It is a bit big. But what it does is really > simple: change 3 call sites to save/restore virtual address of sp and > ar.bsp/ar.bspstore. To follow up the other bug in head.S, here is the fix. --------- For BP, we are not installing any region 7 DTLB mapping for init_task. However, kr(stack) is being initialized to a legal kernel granule that the kernel resides. If the first task context switch out of this init_task happens to have its task struct in that very same granule, the stack will not be mapped by any DTLB. Patch to properly initialize kr(stack) for BP. ===== arch/ia64/kernel/head.S 1.25 vs edited ===== --- 1.25/arch/ia64/kernel/head.S Mon Jun 28 22:07:49 2004 +++ edited/arch/ia64/kernel/head.S Mon Jun 28 22:11:32 2004 @@ -154,8 +154,7 @@ #endif ;; tpa r3=r2 // r3 == phys addr of task struct - ;; - shr.u r16=r3,IA64_GRANULE_SHIFT + mov r16=-1 (isBP) br.cond.dpnt .load_current // BP stack is on region 5 --- no need to map it // load mapping for stack (virtaddr in r2, physaddr in r3) @@ -169,6 +168,7 @@ dep r2=-1,r3,61,3 // IMVA of task ;; mov r17=rr[r2] + shr.u r16=r3,IA64_GRANULE_SHIFT ;; dep r17=0,r17,8,24 ;; - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html