Re: [coreboot] Attempt to porting coreboot to Gigabyte ga-945gcm-s2l

2016-10-15 Thread Arthur Heymans
Nico Huber  writes:

> Hi Arthur,
>
>
> This is just a synchronization point. The wbinvd() is there to ensure
> that the memcpy() above has reached real RAM before the program con-
> tinues.
>
> As this fails right after resources have been assigned to all devices, I
> suspected a resource conflict but couldn't find any trouble in your log.
>
> Another thing that can cause trouble is the MTRR configuration. I have
> no idea in which state they are / should be in your case, though.

It really is a raminit issue. I tested with a 800MHz fsb (does not even get
to ramstage) and a 533MHz fsb cpu which just works (this is a 1067fsb cpu with
tape on bsel0 pin to make it select 533fsb). So unless 945gc raminit
gets fixed, this port is quite useless.

This i945 raminit.c seems to have a lot of code specific for 667fsb
(laptops only) and 533fsb (Intel d945gclf atom board).

I guess I'll have to run vendor through serialICE and see how MCHBARS are 
configured
with inteltool with 800fsb and 1067fsb cpus.

Kind regards
-- 
Arthur Heymans

-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot


Re: [coreboot] Attempt to porting coreboot to Gigabyte ga-945gcm-s2l

2016-10-10 Thread Nico Huber
Hi Arthur,

On 09.10.2016 18:50, Arthur Heymans wrote:
> Hi
> 
> I'm trying to port coreboot to the gigabyte ga-945gcm-s2l, which has a
> 945gc northbridge, a ich7 southbridge and a ite it8718f sio. I'm trying
> all this with a 1067fsb cpu, so in that last aspect there is no
> precedent in coreboot.
> 
> I encountered some raminit issues where the MCHBAR(CLKCFG) was
> incorrectly written, but this was fixed in
> https://review.coreboot.org/#/c/16940/.
> 
> Right now I'm stuck in smm_init in southbridge/intel/i82801gx/smi.c.
> The boot process completely hangs when wbinvd() is called which supposed
> to "Write Back and Invalidate Cache" according to
> http://x86.renejeschke.de/html/file_module_x86_id_325.html.

This is just a synchronization point. The wbinvd() is there to ensure
that the memcpy() above has reached real RAM before the program con-
tinues.

As this fails right after resources have been assigned to all devices, I
suspected a resource conflict but couldn't find any trouble in your log.

Another thing that can cause trouble is the MTRR configuration. I have
no idea in which state they are / should be in your case, though.

> 
> What does this mean? Did the raminit not work?

This close to the end of ramstage I wouldn't expect trouble from a bad
raminit (you have already written/read plenty things to/from RAM). But
still, this could suffer from some wrong configuration done in romstage.

Regards,
Nico

-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot


Re: [coreboot] Attempt to porting coreboot to Gigabyte ga-945gcm-s2l

2016-10-10 Thread Zoran Stojsavljevic
>> What is INTEL IOTG support?
Never mind, I wanted to say that INTEL will not support Penryn, either
Merom, or Nehalem (over 9 years in production).

>> No idea, but I can certainly try it.
Yes, you can. Ether using source code, but other that that (if you have
some sort of problems), you just need to find it in Coreboot .rom file the
proper place (WBINVD is 0F 09 opcode, while INVD is just 0F 08)! ;-)

>> What I don't understand is that this is just southbridge code which is
>> used by other boards too and that this instruction causes no issues to
>> those other boards in the coreboot tree (like thinkpad x60).
As you have said/wrote, higher FREQ could be the showstopper. Above written
(with INVD) is also good enough as canary test. :-)

>> Having read all the i945 raminit code (this is not MRC but native
>> coreboot code AFAIK) it does seem to be written with 667MHz fsb (945gm
>> laptops like thinkpad x60)and 533MHz fsb (945gc inteld945gclf) in mind.
Ah... I missed this part over the years!?!? So, there is Open Source
initram code, but for very old CORE families (0 - pre CORE, 1 and some 2s).
Thank you for enlightening me.

>>So I will soon try to confirm this theory with 533MHz fsb cpu.
I look forward/am interested to hearing from you (if you also do extras for
667MHz with INVD, Full House)! :thumb up:

Thank you,
Zoran

On Mon, Oct 10, 2016 at 9:25 AM, Arthur Heymans  wrote:

> Zoran Stojsavljevic  writes:
>
> > Hello Arthur,
> >
> > CPUID 1067x? Penryn?
> > https://en.wikipedia.org/wiki/Penryn_(microprocessor) ?!
> This is indeed the cpu which I used to run tests with. This board should
> also work with older LGA775 cpu I think. (even though coreboot has
> problems with CAR on this P4 HT 630 I also tried)
>
>
> > It is long time off any radar screen for INTEL IOTG support, I can tell
> to you this... Started production in 2007! :-(( WTH you need Coreboot on
> this one?
> What is INTEL IOTG support?
>
> > "The WBINVD instruction is a privileged instruction. When the processor
> is running in protected mode, the CPL of a program or procedure must be 0 to
> > execute this instruction. This instruction is also a serializing
> instruction (see "Serializing Instructions" in Chapter 8 of the IA-32 Intel
> Architecture Software
> > Developer's Manual, Volume 3)."
> >
> > Question to you: do you execute this instruction (WBINVD) in Ring 0
> (kernel) mode? If you do, and it still hangs, I have for you a good
> suggestion: try to replace
> > WBINVD with INVD and see if you'll hang (simple logic stands behind
> > what I read there:
> > http://x86.renejeschke.de/html/file_module_x86_id_325.html).
> No idea, but I can certainly try it.
>
>
> > If you hang: your problem is for sure/100% NOT raminit (in other words
> MRC);
> > If you do NOT hang, and continue: raminit (MRC) might be (but not
> > certainly???) your problem. If you hang later (while accessing DDRAM),
> > then it is obvious! ;-)
> What I don't understand is that this is just southbridge code which is
> used by other boards too and that this instruction causes no issues to
> those other boards in the coreboot tree (like thinkpad x60).
>
> Having read all the i945 raminit code (this is not MRC but native
> coreboot code AFAIK) it does seem to be written with 667MHz fsb (945gm
> laptops like thinkpad x60)and 533MHz fsb (945gc inteld945gclf) in mind.
> So I will soon try to confirm this theory with 533MHz fsb cpu.
> >
> > Good luck with this one,
> > Zoran
>
> Kind regards
> --
> Arthur Heymans
>
-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot

Re: [coreboot] Attempt to porting coreboot to Gigabyte ga-945gcm-s2l

2016-10-10 Thread Arthur Heymans
Zoran Stojsavljevic  writes:

> Hello Arthur,
>
> CPUID 1067x? Penryn?
> https://en.wikipedia.org/wiki/Penryn_(microprocessor) ?!
This is indeed the cpu which I used to run tests with. This board should
also work with older LGA775 cpu I think. (even though coreboot has
problems with CAR on this P4 HT 630 I also tried)


> It is long time off any radar screen for INTEL IOTG support, I can tell to 
> you this... Started production in 2007! :-(( WTH you need Coreboot on this 
> one?
What is INTEL IOTG support?

> "The WBINVD instruction is a privileged instruction. When the processor is 
> running in protected mode, the CPL of a program or procedure must be 0 to
> execute this instruction. This instruction is also a serializing instruction 
> (see "Serializing Instructions" in Chapter 8 of the IA-32 Intel Architecture 
> Software
> Developer's Manual, Volume 3)."
>
> Question to you: do you execute this instruction (WBINVD) in Ring 0 (kernel) 
> mode? If you do, and it still hangs, I have for you a good suggestion: try to 
> replace
> WBINVD with INVD and see if you'll hang (simple logic stands behind
> what I read there:
> http://x86.renejeschke.de/html/file_module_x86_id_325.html).
No idea, but I can certainly try it.


> If you hang: your problem is for sure/100% NOT raminit (in other words MRC);
> If you do NOT hang, and continue: raminit (MRC) might be (but not
> certainly???) your problem. If you hang later (while accessing DDRAM),
> then it is obvious! ;-)
What I don't understand is that this is just southbridge code which is
used by other boards too and that this instruction causes no issues to
those other boards in the coreboot tree (like thinkpad x60).

Having read all the i945 raminit code (this is not MRC but native
coreboot code AFAIK) it does seem to be written with 667MHz fsb (945gm
laptops like thinkpad x60)and 533MHz fsb (945gc inteld945gclf) in mind.
So I will soon try to confirm this theory with 533MHz fsb cpu.
>
> Good luck with this one,
> Zoran

Kind regards
-- 
Arthur Heymans

-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot


Re: [coreboot] Attempt to porting coreboot to Gigabyte ga-945gcm-s2l

2016-10-09 Thread Zoran Stojsavljevic
Hello Arthur,

CPUID 1067x? Penryn? https://en.wikipedia.org/wiki/Penryn_(microprocessor)
?!

It is long time off any radar screen for INTEL IOTG support, I can tell to
you this... Started production in 2007! :-(( WTH you need Coreboot on this
one?

"The WBINVD instruction is a privileged instruction. *When the processor is
running in protected mode, the CPL of a program or procedure must be 0 to
execute this instruction.* This instruction is also a serializing
instruction (see "Serializing Instructions" in Chapter 8 of the IA-32 Intel
Architecture Software Developer's Manual, Volume 3)."

Question to you: do you execute this instruction (WBINVD) in Ring 0
(kernel) mode? If you do, and it still hangs, I have for you a good
suggestion: try to replace WBINVD with INVD and see if you'll hang (simple
logic stands behind what I read there:
http://x86.renejeschke.de/html/file_module_x86_id_325.html).

If you hang: your problem is for sure/100% NOT raminit (in other words MRC);
If you do NOT hang, and continue: raminit (MRC) might be (but not
certainly???) your problem. If you hang later (while accessing DDRAM), then
it is obvious! ;-)

Good luck with this one,
Zoran

On Sun, Oct 9, 2016 at 6:50 PM, Arthur Heymans  wrote:

> Hi
>
> I'm trying to port coreboot to the gigabyte ga-945gcm-s2l, which has a
> 945gc northbridge, a ich7 southbridge and a ite it8718f sio. I'm trying
> all this with a 1067fsb cpu, so in that last aspect there is no
> precedent in coreboot.
>
> I encountered some raminit issues where the MCHBAR(CLKCFG) was
> incorrectly written, but this was fixed in
> https://review.coreboot.org/#/c/16940/.
>
> Right now I'm stuck in smm_init in southbridge/intel/i82801gx/smi.c.
> The boot process completely hangs when wbinvd() is called which supposed
> to "Write Back and Invalidate Cache" according to
> http://x86.renejeschke.de/html/file_module_x86_id_325.html.
>
> What does this mean? Did the raminit not work?
>
> --
> Kind regards
>
> Arthur Heymans
>
>
> --
> coreboot mailing list: coreboot@coreboot.org
> https://www.coreboot.org/mailman/listinfo/coreboot
>
-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot