Alan,
After another 5 hours of debugging, I've narrowed the problem to the
decrement counter interrupt. For some unknown reasons, the interrupt never
gets clear. The system just keep looping and waiting for this interrupt to
be cleared.
In the file time.c (this is the file where all of the timer interrupt code
is), it mentions something about making an assumption that MBX board is
running off a 32.768KHz crystal. But the Touchstone board has a 3.57 MHz
crystal. So, something has to be changed to make this work! Anyone has any
ideas???
BTW, the network bootloader is modified from a comercial OS. We use it to
jump start our project. I don't think we can share the code with everyone,
sorry...
Regards
Clinton Lam
-----Original Message-----
From: Alan Mimms [mailto:alan@packetengines.com]
Sent: Thursday, February 03, 2000 10:03 AM
To: Clinton Lam; Linuxppc-Embedded (E-mail)
Subject: Re: mpc8xx-2.2.13 booting problem
Clinton,
This function enables interrupts. Some bit of hardware is leaving an
interrupt asserted permanently, or else your port or your
driver for some bit
of hardware is not turning off the interrupt request by
servicing the interrupt
properly. Or, possibly, your 8xx interrupt management is screwed up.
One of those explanations is it, just about guaranteed...
Luck.
a
On Thu, 03 Feb 2000, Clinton Lam wrote:
quoted
Hi,
I am new to the embeded linux. I am trying to port
mpc8xx-2.2.13 kernel to
quoted
our custom board, called Touchstone. It is a reference
design based on
quoted
mpc823, which has 32 Mbyte of SDRAM, and 4 Mbyte of flash.
So far, I've developed a network bootloader, which
downloads the zImage to
quoted
the target. I am at the stage where I can unzip the kernel
image to address
quoted
location 0x0, and jump to it. Then, inside the routine
"start_kernel", I am
quoted
able to get the console up and have the linux banner
partially displayed at
quoted
the cosole.
However, after some more kernel initialization in
"start_kernel", the
quoted
program stuck in a routine called "sti()". I've debugged
through this
quoted
routine (it is an assembly routine) , and it seems that it
is looping
quoted
forever inside the routine. I know that the routine is
trying to set the EE
quoted
bit in MSR, and also doing some thing with
ppc_n_lost_interrupts, which I
quoted
don't quite understand.
Does anyone have any idea what is wrong with my port? Can
someone explain to
quoted
me what is the purpose of this "sti()" routine, what are
the possible cause
quoted
for it to hang?
Your response is greately appreciated!
Thanks in advance.
Clinton Lam
--
Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497]
USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0
Despite the cost of living, have you noticed how popular it remains?
-- Steven Wright?
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Sounds like you need to turn on some prescaling for the timebase/decrementer.
If you can't find the required stuff, maybe I can help, but I'm not all THAT
familiar with these cockamamie 8xx processors myself. Perhaps someone else?
a
On
Thu, 03 Feb 2000, Clinton Lam wrote: > Alan,
After another 5 hours of debugging, I've narrowed the problem to the
decrement counter interrupt. For some unknown reasons, the interrupt never
gets clear. The system just keep looping and waiting for this interrupt to
be cleared.
In the file time.c (this is the file where all of the timer interrupt code
is), it mentions something about making an assumption that MBX board is
running off a 32.768KHz crystal. But the Touchstone board has a 3.57 MHz
crystal. So, something has to be changed to make this work! Anyone has any
ideas???
BTW, the network bootloader is modified from a comercial OS. We use it to
jump start our project. I don't think we can share the code with everyone,
sorry...
Regards
Clinton Lam
quoted
-----Original Message-----
From: Alan Mimms [mailto:alan@packetengines.com]
Sent: Thursday, February 03, 2000 10:03 AM
To: Clinton Lam; Linuxppc-Embedded (E-mail)
Subject: Re: mpc8xx-2.2.13 booting problem
Clinton,
This function enables interrupts. Some bit of hardware is leaving an
interrupt asserted permanently, or else your port or your
driver for some bit
of hardware is not turning off the interrupt request by
servicing the interrupt
properly. Or, possibly, your 8xx interrupt management is screwed up.
One of those explanations is it, just about guaranteed...
Luck.
a
On Thu, 03 Feb 2000, Clinton Lam wrote:
quoted
Hi,
I am new to the embeded linux. I am trying to port
mpc8xx-2.2.13 kernel to
quoted
our custom board, called Touchstone. It is a reference
design based on
quoted
mpc823, which has 32 Mbyte of SDRAM, and 4 Mbyte of flash.
So far, I've developed a network bootloader, which
downloads the zImage to
quoted
the target. I am at the stage where I can unzip the kernel
image to address
quoted
location 0x0, and jump to it. Then, inside the routine
"start_kernel", I am
quoted
able to get the console up and have the linux banner
partially displayed at
quoted
the cosole.
However, after some more kernel initialization in
"start_kernel", the
quoted
program stuck in a routine called "sti()". I've debugged
through this
quoted
routine (it is an assembly routine) , and it seems that it
is looping
quoted
forever inside the routine. I know that the routine is
trying to set the EE
quoted
bit in MSR, and also doing some thing with
ppc_n_lost_interrupts, which I
quoted
don't quite understand.
Does anyone have any idea what is wrong with my port? Can
someone explain to
quoted
me what is the purpose of this "sti()" routine, what are
the possible cause
quoted
for it to hang?
Your response is greately appreciated!
Thanks in advance.
Clinton Lam
--
Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497]
USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0
Despite the cost of living, have you noticed how popular it remains?
-- Steven Wright?
--
Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497]
USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0
Despite the cost of living, have you noticed how popular it remains?
-- Steven Wright?
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
You can either have the TB/DEC run from the oscclk/4, or from the
system clock/16. I would assume Linux would use oscclk/4, or 8kHz,
and assume that value for its calculations. You'll have to change
the funtion that calculates the timeout value.
Alan Mimms wrote:
Sounds like you need to turn on some prescaling for the timebase/decrementer.
If you can't find the required stuff, maybe I can help, but I'm not all THAT
familiar with these cockamamie 8xx processors myself. Perhaps someone else?
a
On
Thu, 03 Feb 2000, Clinton Lam wrote: > Alan,
quoted
After another 5 hours of debugging, I've narrowed the problem to the
decrement counter interrupt. For some unknown reasons, the interrupt never
gets clear. The system just keep looping and waiting for this interrupt to
be cleared.
In the file time.c (this is the file where all of the timer interrupt code
is), it mentions something about making an assumption that MBX board is
running off a 32.768KHz crystal. But the Touchstone board has a 3.57 MHz
crystal. So, something has to be changed to make this work! Anyone has any
ideas???
BTW, the network bootloader is modified from a comercial OS. We use it to
jump start our project. I don't think we can share the code with everyone,
sorry...
Regards
Clinton Lam
quoted
-----Original Message-----
From: Alan Mimms [mailto:alan@packetengines.com]
Sent: Thursday, February 03, 2000 10:03 AM
To: Clinton Lam; Linuxppc-Embedded (E-mail)
Subject: Re: mpc8xx-2.2.13 booting problem
Clinton,
This function enables interrupts. Some bit of hardware is leaving an
interrupt asserted permanently, or else your port or your
driver for some bit
of hardware is not turning off the interrupt request by
servicing the interrupt
properly. Or, possibly, your 8xx interrupt management is screwed up.
One of those explanations is it, just about guaranteed...
Luck.
a
On Thu, 03 Feb 2000, Clinton Lam wrote:
quoted
Hi,
I am new to the embeded linux. I am trying to port
mpc8xx-2.2.13 kernel to
quoted
our custom board, called Touchstone. It is a reference
design based on
quoted
mpc823, which has 32 Mbyte of SDRAM, and 4 Mbyte of flash.
So far, I've developed a network bootloader, which
downloads the zImage to
quoted
the target. I am at the stage where I can unzip the kernel
image to address
quoted
location 0x0, and jump to it. Then, inside the routine
"start_kernel", I am
quoted
able to get the console up and have the linux banner
partially displayed at
quoted
the cosole.
However, after some more kernel initialization in
"start_kernel", the
quoted
program stuck in a routine called "sti()". I've debugged
through this
quoted
routine (it is an assembly routine) , and it seems that it
is looping
quoted
forever inside the routine. I know that the routine is
trying to set the EE
quoted
bit in MSR, and also doing some thing with
ppc_n_lost_interrupts, which I
quoted
don't quite understand.
Does anyone have any idea what is wrong with my port? Can
someone explain to
quoted
me what is the purpose of this "sti()" routine, what are
the possible cause
quoted
for it to hang?
Your response is greately appreciated!
Thanks in advance.
Clinton Lam
--
Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497]
USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0
Despite the cost of living, have you noticed how popular it remains?
-- Steven Wright?
--
Alan Mimms Packet Engines, Inc. Spokane, Washington [99214-0497]
USA, Earth, Sol, Milky Way, The Local Group, Virgo Supercluster, U0
Despite the cost of living, have you noticed how popular it remains?
-- Steven Wright?
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/