Re: Kernel crash before login prompt

[email protected]
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 2023-06-30 10:48, Mahesh Vardhamanaiah wrote:
> Hi Andrew,
> 
> We are observing that self is getting -65536 at line 1329 in
> sched_pickcpu() before panic.

What is the disassembly around reading the cpuid? It looks like it is 
getting 0xffff0000 when it should be zero.

> 
> From the code flow
> 
> sched_add [1](struct thread [2] *td [3], int flags [4])->
> sched_pickcpu()->PCPU_GET
> 
> as below
> 
> static int
> 
>  1321 [5] sched_pickcpu [6](struct thread [2] *td [3], int flags [4])
> 
>  1322 [7] {
> 
>  1323 [8]         struct cpu_group [9] *cg [10], *ccg;
> 
>  1324 [11]         struct td_sched [12] *ts [13];
> 
>  1325 [14]         struct tdq [15] *tdq [15];
> 
>  1326 [16]         cpuset_t [17] *mask [18];
> 
>  1327 [19]         int cpu [20], pri, r [21], self [22], intr;
> 
>  1328 [23]
> 
>  1329 [24]         self [22] = PCPU_GET [25](cpuid [26]);
> 
> PCPU_GET is defined differently in Freebsd14 compared to Freebsd12 but
> I am  unable to dump the pcpup in db> prompt is it proper ?
> 
> Is it expected to be a global ?

You can print all pcpu structs with "show allpcpu".

Andrew
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.