Date: Fri, 19 May 2017 22:30:24 -0700 From: Mark Millard <markmi@dsl-only.net> To: Justin Hibbits <jhibbits@freebsd.org> Cc: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: FYI: powerpc EXC_LAST==0x2f00 vs. EXC_DEBUG ==0x2f10 and such? Message-ID: <44ACFC7B-445A-4648-B387-E31021A8D363@dsl-only.net> In-Reply-To: <CAHSQbTDfL89Xu1VVSxxUo=B-ubJWOsHyFMvFbsf46%2BBheMDq_Q@mail.gmail.com> References: <0BC58DBC-AC9B-46F8-8F3A-1AEB90622BC4@dsl-only.net> <CAHSQbTDfL89Xu1VVSxxUo=B-ubJWOsHyFMvFbsf46%2BBheMDq_Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2017-May-19, at 10:24 PM, Justin Hibbits <jhibbits@freebsd.org> = wrote: On Tuesday, May 16, 2017, Mark Millard <markmi@dsl-only.net> wrote: > . . .=46rom /usr/src/sys/powerpc/include/trap.h : >=20 > #define EXC_DEBUG 0x2f10 /* Debug trap */ > #define EXC_VECAST_E 0x2f20 /* Altivec Assist (Book-E) */ >=20 > #define EXC_LAST 0x2f00 /* Last possible exception = vector */ >=20 > #define EXC_AST 0x3000 /* Fake AST vector */ >=20 > /* Trap was in user mode */ > #define EXC_USER 0x10000 >=20 > And also: >=20 > /usr/src/sys/powerpc/ofw/ofw_machdep.c:char = save_trap_init[0x2f00]; /* EXC_LAST */ > /usr/src/sys/powerpc/ofw/ofw_machdep.c:char = save_trap_of[0x2f00]; /* EXC_LAST */ >=20 > /usr/src/sys/powerpc/include/profile.h:#define __PROFILE_VECTOR_TOP = (EXC_LAST + 0x100) >=20 > These makes it look like EXC_LAST and some literal > 0x2f00's might be insufficient for some contexts. >=20 > Nope EXC_LAST is correct as-is. It's the last possible exception = vector for AIM, as that uses physical pages at those addresses for the = exception vectors. Anything above EXC_LAST is an artificial exception. = Now, it does look odd, so I should move the EXC_DEBUG and EXC_VECAST_E = down below the EXC_LAST for sorting purposes. Thanks for checking. One other point: save_trap_init[0x2f00] does not include 0x2500 save_trap_of[0x2f00] does not include 0x2500 But. . . > #define EXC_LAST 0x2f00 /* Last possible exception = vector */ indicates that 0x2500 is included. Is it actually the count/bound and not the last possible? =3D=3D=3D Mark Millard markmi at dsl-only.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44ACFC7B-445A-4648-B387-E31021A8D363>