From: "Mallick, Asit K" <asit.k.mallick@intel.com>
To: linux-ia64@vger.kernel.org
Subject: RE: [Linux-ia64] Kernel panic in dtlb_fault
Date: Mon, 15 Jan 2001 23:08:38 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590693005046@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205904@msgid-missing>
[-- Attachment #1: Type: text/plain, Size: 1983 bytes --]
This is a patch that fixes the VHPT disabled kernel problems. Uros has
verified this and it is at the same level as VHPT enabled kernel on B3.
Thanks,
Asit
> -----Original Message-----
> From: Uros Prestor [mailto:uros@turbolinux.com]
> Sent: Friday, January 12, 2001 11:37 AM
> To: Mallick, Asit K
> Cc: linux-ia64@linuxia64.org
> Subject: Re: [Linux-ia64] Kernel panic in dtlb_fault
>
>
> "Mallick, Asit K" wrote:
>
> > Attached is a patch to fix the problem. Uros and Jenna were
> able to boot
> > with this patch. Sorry for sending the early version.
>
> Something is still not kosher if you enable
> CONFIG_DISABLE_VHPT=y. If I try
> recompiling the gnupro RPM the compilation breaks down
> immediately after the
> config stage With the following error:
>
> # rpm -ba /usr/src/turbo/SPECS/gnupro.spec
> ...
> creating ./config.status
> creating Makefile
> Configuring utils...
> Created "Makefile" in /work/BUILD/gnupro-2.96/build/utils
> Configuring spu...
> Created "Makefile" in /work/BUILD/gnupro-2.96/build/utils/spu
> ++ perl -e 'if( -x "/usr/bin/getconf" && ( ($p=`/usr/bin/getconf
> _NPROCESSORS_ONLN`) >= 0 ) ){ print "$p"} else { print "1"; }'
> + make -j 2
> /bin/sh: SHELL: command not found
> /bin/sh: -c: command not found
> make: *** [all-libiberty] Error 127
> make: *** Waiting for unfinished jobs....
> Bad exit status from /var/tmp/rpm-tmp.82077 (%build)
>
> Things become very bizarre if you try to compile by hand, ranging from
> reports of missing /lib/libc.so.6.1 to internal compiler
> errors... This
> happens both on 2xB3 BigSur and 4xB3 Lion. If I revert to
> the kernel which
> enables VHPT the compilation goes just fine.
>
> Uros
>
> --
> Uros Prestor
> uros@turbolinux.com
>
>
>
>
> _______________________________________________
> Linux-IA64 mailing list
> Linux-IA64@linuxia64.org
> http://lists.linuxia64.org/lists/listinfo/linux-ia64
>
[-- Attachment #2: ivt.diff --]
[-- Type: application/octet-stream, Size: 2207 bytes --]
--- linux-2.4.0/arch/ia64/kernel/ivt.S Tue Jan 9 03:48:36 2001
+++ linux/arch/ia64/kernel/ivt.S Fri Jan 12 04:47:05 2001
@@ -184,15 +184,16 @@
* mode, walk the page table, and then re-execute the L3 PTE read
* and go on normally after that.
*/
-itlb_fault:
mov r16=cr.ifa // get virtual address
mov r29=b0 // save b0
mov r31=pr // save predicates
+itlb_fault:
mov r17=cr.iha // get virtual address of L3 PTE
movl r30=1f // load nested fault continuation point
;;
1: ld8 r18=[r17] // read L3 PTE
;;
+ mov b0=r29
tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared?
(p6) br.cond.spnt.many page_fault
;;
@@ -219,15 +220,16 @@
* mode, walk the page table, and then re-execute the L3 PTE read
* and go on normally after that.
*/
-dtlb_fault:
mov r16=cr.ifa // get virtual address
mov r29=b0 // save b0
mov r31=pr // save predicates
+dtlb_fault:
mov r17=cr.iha // get virtual address of L3 PTE
movl r30=1f // load nested fault continuation point
;;
1: ld8 r18=[r17] // read L3 PTE
;;
+ mov b0=r29
tbit.z p6,p0=r18,_PAGE_P_BIT // page present bit cleared?
(p6) br.cond.spnt.many page_fault
;;
@@ -261,6 +263,7 @@
(p8) thash r17=r16
;;
(p8) mov cr.iha=r17
+(p8) mov r29=b0 // save b0
(p8) br.cond.dptk.many itlb_fault
#endif
extr.u r23=r21,IA64_PSR_CPL0_BIT,2 // extract psr.cpl
@@ -296,6 +299,7 @@
(p8) thash r17=r16
;;
(p8) mov cr.iha=r17
+(p8) mov r29=b0 // save b0
(p8) br.cond.dptk.many dtlb_fault
#endif
extr.u r23=r21,IA64_PSR_CPL0_BIT,2 // extract psr.cpl
@@ -399,7 +403,6 @@
shr.u r18=r16,PMD_SHIFT // shift L2 index into position
;;
ld8 r17=[r17] // fetch the L1 entry (may be 0)
- mov b0=r30
;;
(p7) cmp.eq p6,p7=r17,r0 // was L1 entry NULL?
dep r17=r18,r17,3,(PAGE_SHIFT-3) // compute address of L2 page table entry
@@ -409,8 +412,8 @@
;;
(p7) cmp.eq.or.andcm p6,p7=r17,r0 // was L2 entry NULL?
dep r17=r19,r17,3,(PAGE_SHIFT-3) // compute address of L3 page table entry
- ;;
(p6) br.cond.spnt.many page_fault
+ mov b0=r30
br.sptk.many b0 // return to continuation point
;;
prev parent reply other threads:[~2001-01-15 23:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-09 23:03 [Linux-ia64] Kernel panic in dtlb_fault Uros Prestor
2001-01-10 0:40 ` Uros Prestor
2001-01-10 3:15 ` Mallick, Asit K
2001-01-11 1:14 ` Mallick, Asit K
2001-01-11 19:09 ` Uros Prestor
2001-01-11 19:35 ` David Mosberger
2001-01-11 20:12 ` Uros Prestor
2001-01-11 20:23 ` Mallick, Asit K
2001-01-11 22:10 ` Mallick, Asit K
2001-01-12 19:36 ` Uros Prestor
2001-01-15 23:08 ` Mallick, Asit K [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=marc-linux-ia64-105590693005046@msgid-missing \
--to=asit.k.mallick@intel.com \
--cc=linux-ia64@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.