printf's in cpu_startup()

Matthew Dillon dillon at apollo.backplane.com
Wed Jun 22 22:43:27 PDT 2005


:The system boots, but I was trying to reconcile the difference in the
:output. For example, in the case that panics, the output is
:
:PHYS_AVAIL 00001000 - 0009f000
:PHYS_AVAIL 005a5000 - 3fa5f000
:PHYS_AVAIL 3fa86000 - 3fac2000
:PHYS_AVAIL 3fb06000 - 3fb14000
:PHYS_AVAIL 3fb26000 - 3fbf8000
:PHYS_AVAIL 2fc00a0000 - 60008f00000000
:PHYS_AVAIL 8da007ff0000d000 - 0000c000
:BIGGESTONE 12 SIZE 8241578526289948672
:NBLOCKS 7
:...
:
:So I was trying to understand (for example) why BIGGESTONE and NBLOCKS
:changed and was trying to back-track to phys_avail[] to do that.
:
:-- 
:Chuck Tuffli
:Agilent Technologies

    The reason is that the internal array was only 10 elements and each
    physical range record requires 2 elements, so there was only room for
    5 ranges and the array overflowed.

    The garbage you see after the 5th entry is because the array overflowed
    into other variables which the kernel then modified.

    The overflow occured because the kernel was improperly calculating the
    overflow point.  The commit simply fixed the overflow calculation.  I
    also increased the number of slots available (since 5 slots is 
    ridiculously low).

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Kernel mailing list