tyan s2880 build broken?

2004-04-26 Thread HC Wang








Hi,



I checked out linuxbios2 tree from sourceforge.net, and I
have problem with building bios for tyan s2880 motherboard, here is the error
message from buildtarget tyan/s2880:



Configuring PART mainboard, path tyan/s2880

=== NOTE: Changing default value of LB_CKS_RANGE_START

=== NOTE: Changing default value of LB_CKS_RANGE_END

=== NOTE: Changing default value of LB_CKS_LOC

Configuring DIR ../common/lsi_scsi/Config.lb

=== ERROR: Could not open file
/home/hcwang/linux-bios/freebios2/src/mainboard/tyan/s2880/../common/lsi_scsi/Config.lb

tyan/s2880/Config.lb:0

mainboard/tyan/s2880/Config.lb:0

../common/lsi_scsi/Config.lb:0

[EMAIL PROTECTED] targets]$ pwd

/home/hcwang/linux-bios/freebios2/targets



Has anybody experience similar problem?



Thanks,

HC












Re: tyan s2880 build broken?

2004-04-26 Thread ron minnich
I think with Stefan's last set of patches we're missing some cvs adds?

Stefan?

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: tyan s2880 build broken?

2004-04-26 Thread YhLu









I
will change the code to disable the lsi_scsi as the
default.



Do
you have lsi 1030
onboard? You need to use it? 



If
you need to use it, I send you pre-built image, because I can not publish the
source code of lsi_scsi. LSI dont want to.



Regards



YH











: HC Wang
[mailto:[EMAIL PROTECTED] 
: 2004426
10:15
:
[EMAIL PROTECTED]
: tyan s2880 build broken?





Hi,



I checked out linuxbios2 tree from sourceforge.net,
and I have problem with building bios for tyan s2880 motherboard, here is the
error message from buildtarget tyan/s2880:



Configuring PART mainboard, path tyan/s2880

=== NOTE: Changing default value of LB_CKS_RANGE_START

=== NOTE: Changing default value of
LB_CKS_RANGE_END

=== NOTE: Changing default value of LB_CKS_LOC

Configuring DIR ../common/lsi_scsi/Config.lb

=== ERROR: Could not open file
/home/hcwang/linux-bios/freebios2/src/mainboard/tyan/s2880/../common/lsi_scsi/Config.lb

tyan/s2880/Config.lb:0

mainboard/tyan/s2880/Config.lb:0

../common/lsi_scsi/Config.lb:0

[EMAIL PROTECTED] targets]$ pwd

/home/hcwang/linux-bios/freebios2/targets



Has anybody experience similar problem?



Thanks,

HC












Re: tyan s2880 build broken?

2004-04-26 Thread ron minnich
On Mon, 26 Apr 2004, YhLu wrote:

 If you need to use it, I send you pre-built image, because I can not publish
 the source code of lsi_scsi. LSI don¡¯t want to.

grr. 

Is there a ROM BIOS for it?

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: tyan s2880 build broken?

2004-04-26 Thread ron minnich
I just commented out the #dir ../ 
entry in mainboard/tyan/s2880/Config.lb and the buildtarget seems ok. I 
will commit.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: tyan s2880 build broken?

2004-04-26 Thread YhLu
1.  In  freebios2/src/mainboard/tyan/s2880/Config.lb  comment out  dir
../common/lsi_scsi
2.  In freebios2/targets/tyan/s2880/Config.lb  comment  out  option
ROM_SIZE = 475136

Don't forget 2. otherwise the final image will short some.

Regards

YH

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2004426 10:42
: YhLu
: HC Wang; [EMAIL PROTECTED]
: Re: tyan s2880 build broken?

I just commented out the #dir ../ 
entry in mainboard/tyan/s2880/Config.lb and the buildtarget seems ok. I 
will commit.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: : : tyan s2880 build broken?

2004-04-26 Thread ron minnich
On Mon, 26 Apr 2004, YhLu wrote:

 When enabling lsi_scsi support, It need leave 48k in the BIOS ROM for
 lsi_scsi fw. So need to change normal mode ROM_SIZE to 512k-48k.

OK, BTW you can do this:
option ROM_SIZE = 512*1024 - 48*1024

which is not as readable as 512k-48k, but is pretty readable.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: : tyan s2880 build broken?

2004-04-26 Thread ron minnich
On Mon, 26 Apr 2004, YhLu wrote:

 Don't forget 2. otherwise the final image will short some.

What should it be?

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: : tyan s2880 build broken?

2004-04-26 Thread YhLu
When enabling lsi_scsi support, It need leave 48k in the BIOS ROM for
lsi_scsi fw. So need to change normal mode ROM_SIZE to 512k-48k.

After that, cat fwx, normal linuxbios, fallback linuxbios to 512k final
image.

YH

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2004426 10:49
: YhLu
: HC Wang; [EMAIL PROTECTED]
: Re: : tyan s2880 build broken?

On Mon, 26 Apr 2004, YhLu wrote:

 Don't forget 2. otherwise the final image will short some.

What should it be?

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: : : tyan s2880 build broken?

2004-04-26 Thread YhLu
When I using the new config to deal with it, the tool seems doesnt support
expression. I will check that in current config tool.

YH

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2004426 10:57
: YhLu
: HC Wang; [EMAIL PROTECTED]
: Re: : : tyan s2880 build broken?

On Mon, 26 Apr 2004, YhLu wrote:

 When enabling lsi_scsi support, It need leave 48k in the BIOS ROM for
 lsi_scsi fw. So need to change normal mode ROM_SIZE to 512k-48k.

OK, BTW you can do this:
option ROM_SIZE = 512*1024 - 48*1024

which is not as readable as 512k-48k, but is pretty readable.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: : : : tyan s2880 build broken?

2004-04-26 Thread ron minnich
On Mon, 26 Apr 2004, YhLu wrote:

 When I using the new config to deal with it, the tool seems doesn¡¯t support
 expression. I will check that in current config tool.

it supports the expression, it just gets it wrong. Sorry. Another bug!

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: tyan s2880 build broken?

2004-04-26 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 I will change the code to disable the lsi_scsi as the default.
  
 Do you have lsi 1030 onboard?  You need to use it? 
  
 If you need to use it, I send you pre-built image, because I can not publish
 the source code of lsi_scsi. LSI dont want to.

If you can't publish the source then distributing the binary with
the code compiled from that source linked in violates the GPL.

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: tyan s2880 build broken?

2004-04-26 Thread YhLu
So I need disable the code always, and don't send the image to the end user.

What's pity!

YH.

--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2004426 11:12
: YhLu
: [EMAIL PROTECTED]
: Re: tyan s2880 build broken?

YhLu [EMAIL PROTECTED] writes:

 I will change the code to disable the lsi_scsi as the default.
  
 Do you have lsi 1030 onboard?  You need to use it? 
  
 If you need to use it, I send you pre-built image, because I can not
publish
 the source code of lsi_scsi. LSI dont want to.

If you can't publish the source then distributing the binary with
the code compiled from that source linked in violates the GPL.

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: tyan s2880 build broken?

2004-04-26 Thread YhLu
I have talked to the LSI two times.

I have asked our HW engineers to use adapted chip except special customer
requirement. Adaptec don't need download FW into it.

Regards

YH



--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2004426 14:20
: YhLu
: [EMAIL PROTECTED]; [EMAIL PROTECTED]
: Re: tyan s2880 build broken?

On Mon, 26 Apr 2004, YhLu wrote:

 So I need disable the code always, and don't send the image to the end
user.
 
 What's pity!

you might want to talk to LSI about this, but Eric is right. LSI needs to 
get their act together.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: : tyan s2880 build broken?

2004-04-26 Thread Hendricks David W.
What about 3Ware? They had someone on this list a while ago, so maybe 
they'd be willing to help.

On Mon, 26 Apr 2004, YhLu wrote:

 I have talked to the LSI two times.
 
 I have asked our HW engineers to use adapted chip except special customer
 requirement. Adaptec don't need download FW into it.
 
 Regards
 
 YH
 
 
 
 -ÓʼþÔ­¼þ-
 ·¢¼þÈË: ron minnich [mailto:[EMAIL PROTECTED] 
 ·¢ËÍʱ¼ä: 2004Äê4ÔÂ26ÈÕ 14:20
 ÊÕ¼þÈË: YhLu
 ³­ËÍ: [EMAIL PROTECTED]; [EMAIL PROTECTED]
 Ö÷Ìâ: Re: tyan s2880 build broken?
 
 On Mon, 26 Apr 2004, YhLu wrote:
 
  So I need disable the code always, and don't send the image to the end
 user.
  
  What's pity!
 
 you might want to talk to LSI about this, but Eric is right. LSI needs to 
 get their act together.
 
 ron
 ___
 Linuxbios mailing list
 [EMAIL PROTECTED]
 http://www.clustermatic.org/mailman/listinfo/linuxbios
 

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: : tyan s2880 build broken?

2004-04-26 Thread YhLu
I talked to lsi again, and they will do sth.

--
: Hendricks David W. [mailto:[EMAIL PROTECTED] 
: 2004426 15:02
: YhLu
: [EMAIL PROTECTED]
: Re: : tyan s2880 build broken?

What about 3Ware? They had someone on this list a while ago, so maybe 
they'd be willing to help.

On Mon, 26 Apr 2004, YhLu wrote:

 I have talked to the LSI two times.
 
 I have asked our HW engineers to use adapted chip except special customer
 requirement. Adaptec don't need download FW into it.
 
 Regards
 
 YH
 
 
 
 --
 : ron minnich [mailto:[EMAIL PROTECTED] 
 : 2004426 14:20
 : YhLu
 : [EMAIL PROTECTED]; [EMAIL PROTECTED]
 : Re: tyan s2880 build broken?
 
 On Mon, 26 Apr 2004, YhLu wrote:
 
  So I need disable the code always, and don't send the image to the end
 user.
  
  What's pity!
 
 you might want to talk to LSI about this, but Eric is right. LSI needs to 
 get their act together.
 
 ron
 ___
 Linuxbios mailing list
 [EMAIL PROTECTED]
 http://www.clustermatic.org/mailman/listinfo/linuxbios
 
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: tyan s2880 build broken?

2004-04-26 Thread Peter Stuge
On Mon, Apr 26, 2004 at 03:13:51PM -0700, YhLu wrote:
 I talked to lsi again, and they will do sth.

Great news, even if we haven't seen the results. Thanks a lot! :)


//Peter
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Inline assembler problems with S2880 build

2003-11-18 Thread Stefan Reinauer
* [EMAIL PROTECTED] [EMAIL PROTECTED] [031118 17:35]:
 Hi,
 
 I'm a newbie to this, but I'm trying to build for a Tyan S2880 board.
 However during the build I get;
 
 
 eebios2/src/devices/hypertransport.c
 /tmp/ccniyAWJ.s: Assembler messages:
 /tmp/ccniyAWJ.s:120: Error: Incorrect register `%rcx' used with `l' suffix
 /tmp/ccniyAWJ.s:122: Error: Incorrect register `%rcx' used with `l' suffix
 
 This is built on a completely standard Suse 2.4.19 build
 Linux Boco 2.4.19 #1 Wed Jun 25 21:34:14 UTC 2003 x86_64 unknown unknown
 GNU/Linux
 
You have to compile LinuxBIOS using the 32bit instruction set of the
AMD64 cpu. To do this, add the following to your target configuration
file (i.e. freebios2/targets/tyan/s2880/Config.lb):

uses CC
option CC=gcc -m32

 Stefan


-- 
 Stefan Reinauer, SUSE LINUX AG
Teamleader Architecture Development
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: filo on Tyan s2880

2003-10-31 Thread Stefan Reinauer
* Takeshi Sone [EMAIL PROTECTED] [031031 19:38]:
 On Fri, Oct 31, 2003 at 10:07:28AM -0800, YhLu wrote:
  So need one customerization Installation image to execute the sh to install
  conf file. Also the kernel in the installation image should support X server
  without VGA init.
 
 X works at least on EPIA using VGABIOS support of LinuxBIOS(v1).

On the Tyan S2880 with onboard Rage XL it works using the kernel
framebuffer driver with SGIs nobios patch (partly integrated in 2.6)
I'll try to write it down when I got the other things done.

  Stefan

-- 
 Stefan Reinauer, SUSE LINUX AG
Teamleader Architecture Development
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


filo on Tyan s2880

2003-10-30 Thread Stefan Reinauer
Hi,

I am using an etherboot payload that reads an elf image from
the first sectors on the disk. This works fine, I put filo there
so I can load a kernel from any filesystem. Unfortunately filo seems
to find no IDE controller, it says IDE channel 0 not found.
Etherboot and Linux can see the ide controller though (it's on bus 1)

This happens with filo 0.4.1

  Stefan

-- 
 Stefan Reinauer, SUSE LINUX AG
Teamleader Architecture Development
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: filo on Tyan s2880

2003-10-30 Thread SONE Takeshi
On Thu, Oct 30, 2003 at 11:34:29AM +0100, Stefan Reinauer wrote:
 I am using an etherboot payload that reads an elf image from
 the first sectors on the disk. This works fine, I put filo there
 so I can load a kernel from any filesystem. Unfortunately filo seems
 to find no IDE controller, it says IDE channel 0 not found.
 Etherboot and Linux can see the ide controller though (it's on bus 1)

Maybe the problem is with my PCI code.
Please send me the output log with DEBUG_ALL.

-- 
Takeshi
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: filo on Tyan s2880

2003-10-30 Thread Stefan Reinauer
* SONE Takeshi [EMAIL PROTECTED] [031030 11:40]:
 On Thu, Oct 30, 2003 at 11:34:29AM +0100, Stefan Reinauer wrote:
  I am using an etherboot payload that reads an elf image from
  the first sectors on the disk. This works fine, I put filo there
  so I can load a kernel from any filesystem. Unfortunately filo seems
  to find no IDE controller, it says IDE channel 0 not found.
  Etherboot and Linux can see the ide controller though (it's on bus 1)
 
 Maybe the problem is with my PCI code.

Bus 1 is not scanned.
Disabling SUPPORT_PCI in the Config file solved the problem.

  Stefan

-- 
 Stefan Reinauer, SUSE LINUX AG
Teamleader Architecture Development
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: filo on Tyan s2880

2003-10-30 Thread Stefan Reinauer
* SONE Takeshi [EMAIL PROTECTED] [031030 13:25]:
 On Thu, Oct 30, 2003 at 12:40:02PM +0100, Stefan Reinauer wrote:
  * SONE Takeshi [EMAIL PROTECTED] [031030 11:40]:
   On Thu, Oct 30, 2003 at 11:34:29AM +0100, Stefan Reinauer wrote:
I am using an etherboot payload that reads an elf image from
the first sectors on the disk. This works fine, I put filo there
so I can load a kernel from any filesystem. Unfortunately filo seems
to find no IDE controller, it says IDE channel 0 not found.
Etherboot and Linux can see the ide controller though (it's on bus 1)
   
   Maybe the problem is with my PCI code.
   Please send me the output log with DEBUG_ALL.
  
  You only seem to scan bus 0:
 
 Ok..
 My PCI scan routine starts from bus 0, and recurses when PCI bridges are
 found.  I think I took this algorithm from pciutils.
 
 However your board has only host bridges on bus 0, so FILO doesn't know
 if bus 1 exists.
 
 I checked Etherboot and it just scans bus 0 to 255 unconditionally.
 I don't know which is better.
 Anyway attached patch changes the PCI scan to Etherboot way.

Thanks. with this patch it also works using PCI.

   Stefan

-- 
 Stefan Reinauer, SUSE LINUX AG
Teamleader Architecture Development
Index: main/pci.c
===
RCS file: /home/ts1/cvsroot/filo/main/pci.c,v
retrieving revision 1.3
diff -u -r1.3 pci.c
--- main/pci.c  14 Oct 2003 19:54:29 -  1.3
+++ main/pci.c  30 Oct 2003 12:22:17 -
@@ -6,37 +6,34 @@
 static struct pci_dev *dev_list;
 static int n_devs;
 
-static void pci_scan_bus(int bus)
+static void pci_scan_bus(void)
 {
-int devnum, fn, is_multi, vid;
+int bus, devnum, fn, is_multi, vid;
 pci_addr addr;
 unsigned int htype;
 
-for (devnum = 0; devnum  32; devnum++) {
-   is_multi = 0;
-   for (fn = 0; fn==0 || (is_multi  fn8); fn++) {
-   addr = PCI_ADDR(bus, devnum, fn);
-   vid = pci_read16(addr, PCI_VENDOR_ID);
-   if (vid==0x || vid==0)
-   continue;
-
-   htype = pci_read8(addr, PCI_HEADER_TYPE);
-   if (fn == 0)
-   is_multi = htype  0x80;
-   htype = 0x7f;
-
-   if (dev_list) {
-   dev_list[n_devs].addr = addr;
-   dev_list[n_devs].vendor = vid;
-   dev_list[n_devs].device = pci_read16(addr, PCI_DEVICE_ID);
-   dev_list[n_devs].devclass = pci_read16(addr, PCI_CLASS_DEVICE);
-   dev_list[n_devs].prog_if = pci_read8(addr, PCI_CLASS_PROG);
+for (bus = 0; bus  256; bus++) {
+   for (devnum = 0; devnum  32; devnum++) {
+   is_multi = 0;
+   for (fn = 0; fn==0 || (is_multi  fn8); fn++) {
+   addr = PCI_ADDR(bus, devnum, fn);
+   vid = pci_read16(addr, PCI_VENDOR_ID);
+   if (vid==0x || vid==0)
+   continue;
+
+   htype = pci_read8(addr, PCI_HEADER_TYPE);
+   if (fn == 0)
+   is_multi = htype  0x80;
+
+   if (dev_list) {
+   dev_list[n_devs].addr = addr;
+   dev_list[n_devs].vendor = vid;
+   dev_list[n_devs].device = pci_read16(addr, PCI_DEVICE_ID);
+   dev_list[n_devs].devclass = pci_read16(addr, PCI_CLASS_DEVICE);
+   dev_list[n_devs].prog_if = pci_read8(addr, PCI_CLASS_PROG);
+   }
+   n_devs++;
}
-   n_devs++;
-
-   if (htype==PCI_HEADER_TYPE_BRIDGE
-   || htype==PCI_HEADER_TYPE_CARDBUS)
-   pci_scan_bus(pci_read8(addr, PCI_SECONDARY_BUS));
}
 }
 }
@@ -46,13 +43,13 @@
 /* Count devices */
 dev_list = 0;
 debug(Scanning PCI: );
-pci_scan_bus(0);
+pci_scan_bus();
 debug(found %d devices\n, n_devs);
 
 /* Make the list */
 dev_list = malloc(n_devs * sizeof(struct pci_dev));
 n_devs = 0;
-pci_scan_bus(0);
+pci_scan_bus();
 
 #if DEBUG
 {


Re: filo on Tyan s2880

2003-10-30 Thread SONE Takeshi
On Thu, Oct 30, 2003 at 01:32:49PM +0100, Stefan Reinauer wrote:
  I checked Etherboot and it just scans bus 0 to 255 unconditionally.
  I don't know which is better.
  Anyway attached patch changes the PCI scan to Etherboot way.
 
 Thanks. with this patch it also works using PCI.

I'll make this a Config option (turned off by default) in the next version.

-- 
Takeshi
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: filo on Tyan s2880

2003-10-30 Thread SONE Takeshi
On Thu, Oct 30, 2003 at 02:43:47PM -0600, Richard Smith wrote:
 My plan is to add support for configuration file, so the default kernel
 location and parameters will no longer be hard coded in the Flash, and
 Stephan told me maybe he can support this config file in the future
 releases of SuSE installation CDs.
 
 I bet if you asked nicely on the Debian boot list you could get support 
 under Debian as well.

Putting /filo.conf in the CD or floppy is a trivial task,
but the hard part is to make the installer create the filo.conf
for booting from installed hard disk.
Maybe KNOPPIX would be easier. It doesn't install. :)
-- 
Takeshi
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


re: S2880

2003-08-14 Thread YhLu
Eric,
Under 4G RAM  linusbios_tables occupy 0x500-0xae0, cmos_util can find
option_table even after rebooting.
Under 6G RAM linuxbios_tables occupy 0x500-0xaf4, cmos_util can find
option_table after power on but can not find it after rebooting.

The only difference should be that rebooting don't execute auto.c again.

Any advise.

Regards

Yingahi Lu


--
: YhLu 
: 200386 17:11
: ron minnich
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: : S2880

Ron,

I have verfied that if I disable the XIP... in old config tool, the image
produced will make the option table not accessiable after reboot too.

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 200386 15:51
: YhLu
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: Re: S2880

I will try to email you my latest tree, Stefan put them in last night.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-14 Thread Ronald G. Minnich
On Wed, 6 Aug 2003, YhLu wrote:

 So you will add one module that will produce PIRQ automatically?

I don't see any choice. Bus mapping is dynamic and hence a static table 
is not going to work. We have needed this for some time now anyway.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-14 Thread YhLu
It seems the Kernel clear 0x0--4k.
Of course after itself take the MP TABLE.

Maybe need to update the kernel.

YH
--
: YhLu 
: 200386 18:30
: ron minnich
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: re: S2880

Eric,
Under 4G RAM  linusbios_tables occupy 0x500-0xae0, cmos_util can find
option_table even after rebooting.
Under 6G RAM linuxbios_tables occupy 0x500-0xaf4, cmos_util can find
option_table after power on but can not find it after rebooting.

The only difference should be that rebooting don't execute auto.c again.

Any advise.

Regards

Yingahi Lu


--
: YhLu 
: 200386 17:11
: ron minnich
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: : S2880

Ron,

I have verfied that if I disable the XIP... in old config tool, the image
produced will make the option table not accessiable after reboot too.

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 200386 15:51
: YhLu
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: Re: S2880

I will try to email you my latest tree, Stefan put them in last night.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-14 Thread YhLu
Ron,

It seems I can not enable XIP_ROM_SIZE and XIP_ROM_BASE. Even I have set
them in Options.lb

Regards

Yinghai Lu

--
: YhLu 
: 200386 15:17
: YhLu; [EMAIL PROTECTED]; ron minnich
: Stefan Reinauer; [EMAIL PROTECTED]
: Re: S2880

Ron,

After swap _ROMBASE etc to after ROM_SECTION_SIZE and ROM_SECTION_OFFSET.  I
can switch to the normal mode.

But in fallback mode and normal mode ( after reboot) still got problem.

~ # cmos_util -d
# The CMOS Definition table was not found in ram
# CMOS definition table was not found in RAM memory
# Looking for definitions in cmos.layout file
Can not open config file cmos.layout


Regards

Yinghai Lu

--
: YhLu 
: 200386 11:18
: '[EMAIL PROTECTED]'; ron minnich
: Stefan Reinauer; [EMAIL PROTECTED]
: S2880


Eric,

It seems the image that built with can not switch to Normal booting.

1. In Fallback mode, after power on I can use cmos_util.
2. after rebooting it is still in Fallback mode,and can not cmos_util, it
said can not find option table in the ram. And can not access cmos.layout.

When I using old tool, I can switch to normal mode, but need to change
boot_option and last_boot from fallback to normal.

regards

Yinghai Lu

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: S2880

2003-08-10 Thread YhLu
Ron,

I have verfied that if I disable the XIP... in old config tool, the image
produced will make the option table not accessiable after reboot too.

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 200386 15:51
: YhLu
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: Re: S2880

I will try to email you my latest tree, Stefan put them in last night.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-10 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 Under 4G RAM  linusbios_tables occupy 0x500-0xae0, cmos_util can find
 option_table even after rebooting.
 Under 6G RAM linuxbios_tables occupy 0x500-0xaf4, cmos_util can find
 option_table after power on but can not find it after rebooting.
 
 The only difference should be that rebooting don't execute auto.c again.

I am not really certain what is going on, but it doesn't sound good.  Normally
I just reset the board and that is probably the right solution.  I am still
struggling to get the new config tool usable, so I am a bit distracted.

We should be rewriting the table even during a reboot.  So the fact
that this doesn't work indicates there is some kind of problem.  What I
don't know.

I can positively report that I have seen this.  If I don't start
pushing my reset code into the tree in the next couple of days please
bug me.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-09 Thread ron minnich
I really need a working PIRQ (don't ask) so I'm going to take a stab at 
generating one from the linuxbios tables, unless somebody else has 
done/wants to do it.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-08 Thread YhLu
Ron,

After swap _ROMBASE etc to after ROM_SECTION_SIZE and ROM_SECTION_OFFSET.  I
can switch to the normal mode.

But in fallback mode and normal mode ( after reboot) still got problem.

~ # cmos_util -d
# The CMOS Definition table was not found in ram
# CMOS definition table was not found in RAM memory
# Looking for definitions in cmos.layout file
Can not open config file cmos.layout


Regards

Yinghai Lu

--
: YhLu 
: 200386 11:18
: '[EMAIL PROTECTED]'; ron minnich
: Stefan Reinauer; [EMAIL PROTECTED]
: S2880


Eric,

It seems the image that built with can not switch to Normal booting.

1. In Fallback mode, after power on I can use cmos_util.
2. after rebooting it is still in Fallback mode,and can not cmos_util, it
said can not find option table in the ram. And can not access cmos.layout.

When I using old tool, I can switch to normal mode, but need to change
boot_option and last_boot from fallback to normal.

regards

Yinghai Lu

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-07 Thread Ronald G. Minnich
On Wed, 6 Aug 2003, Steve Gehlbach wrote:

 I don't know if it is helpful to what you need or not, but there is code
 in the stpc section that builds a PIRQ table:  
 (freebios/src/mainboard/stpc/consumer2/mainboard.c).  This uses the 0x0f
 router code which is a way around linux if it does not know about the
 router in your north/south bridge.  There are comments in the code.

That's what I love about this list. Everytime I ask a question it gets
answered in a work-saving way. Steve, I'll take a look at your stuff, and
thanks.

I am much relieved ...

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-07 Thread YhLu
In the cmos_util if it can not find linuxbios table from (0--4k) , it will
find that from (960k to 1M).

Please suggest where we should preserve second copy of linuxbios table.

YH

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 200386 20:49
: YhLu
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: Re: S2880

On Wed, 6 Aug 2003, YhLu wrote:

 It seems the Kernel clear 0x0--4k.
 Of course after itself take the MP TABLE.

yuck. I always thought it left that page alone, since it's page zero 
anyway. 

Well, that explains a thing or two.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: S2880

2003-08-07 Thread YhLu
So you will add one module that will produce PIRQ automatically?

YH

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 200386 20:50
: YhLu
: '[EMAIL PROTECTED]'; 'Stefan Reinauer'; '[EMAIL PROTECTED]'
: Re: S2880

I really need a working PIRQ (don't ask) so I'm going to take a stab at 
generating one from the linuxbios tables, unless somebody else has 
done/wants to do it.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-08-01 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 Several Macro in console/console.h should be changed.
 
 For example: 
 #define print_debug_hex8(HEX) printk_debug(0x08x, ((HEX))
 #define print_debug_hex16(HEX) printk_debug(0x016x, ((HEX))
 #define print_debug_hex32(HEX) printk_debug(0x032x, ((HEX))
 
 to:
 #define print_debug_hex8(HEX) printk_debug(0x02x, ((HEX))
 #define print_debug_hex16(HEX) printk_debug(0x04x, ((HEX))
 #define print_debug_hex32(HEX) printk_debug(0x08x, ((HEX))
 
 regards

Thanks.  That was a thinko.

Eric.

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-08-01 Thread Stefan Reinauer
* Eric W. Biederman [EMAIL PROTECTED] [030801 05:43]:
 Here is my most recent snapshot, which is slightly newer
 than what I have in the public CVS tree.
 
 I think I need to scrub all of memory on the B3 stepping before
 I start using it.  I have not tested anything that is C0 specific yet.

Even with this one I still dont get the kernel up on hdama

I get lots of these:
   
80065d08:   
80065d0c:   
80065d10:   
80065d14:   
80065d18:   
80065d1c: 

My machine has 2*256MB on each CPU.


driving only the first controller works fine.

(both with old config method.)

Stefan




___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-08-01 Thread Eric W. Biederman
Stefan Reinauer [EMAIL PROTECTED] writes:

 * Eric W. Biederman [EMAIL PROTECTED] [030801 05:43]:
  Here is my most recent snapshot, which is slightly newer
  than what I have in the public CVS tree.
  
  I think I need to scrub all of memory on the B3 stepping before
  I start using it.  I have not tested anything that is C0 specific yet.
 
 Even with this one I still dont get the kernel up on hdama
 
 I get lots of these:

 80065d08:
 
 80065d0c:
 
 80065d10:
 
 80065d14:
 
 80065d18:
 
 80065d1c: 
 
 My machine has 2*256MB on each CPU.

This is a relic of my debugging code in auto.c  Move
the test down to 512MB instead of 2GB and you should be
fine.  I have 2GB in my first cpu...

 driving only the first controller works fine.
 
 (both with old config method.)
 
 Stefan

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-31 Thread ron minnich
On 31 Jul 2003, Eric W. Biederman wrote:

 
 I should be switching over to the new configuration system on Monday
 and once that is sorted out quite I can start putting hard codes
 where they belong in the board specific configuration.
 

good timing, I'm back then. 

Greg has further ideas and we need to keep talking as we converge. I will 
try hard to get the cpu stuff in before monday.

Note that V2 is now supporting PPC and K8. I am going to use the AMD SC520 
for the third architecture test, then it's on to Elan for the fourth.



ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-31 Thread YhLu
Eric,

Great. Then there should be no big issue on opteron any more.

Can you send to the new raminit.c to me now?

Regards

Yinghai Lu


___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-31 Thread YhLu
Eric,

I have checked your old k8/cpufixup.c, and it already has TOM2 etc setup.
and SYSCFG_TOM2_EN...etc...

Regards

Yinghai Lu

--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2003731 20:18
: YhLu
: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
: Re: Fixes for Tyan s2880

YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 I have made two changes in raminit.c
 1. csbase counting
 2. fill_last to make sure kernel to scan NUMA successfully.
 
 For s2880 it can work with 4*1G+2*256M RAM, and doesn't work with
 4*1G+2*512M or 4*1G+2*1G.
 
 I would try to substitute raminit.c with hardcode one to test for 6G, if
it
 can help.
 
 Please advise.

There has been enough code churn that my head is still spinning in
trying to get in sync with the main tree. 

I have updated raminit.c so that it now handles the case of each
memory controller starting from 0 cleanly, and I have updated
cpufixup.c so that we are handling  4GB of memory properly.  TOP_MEM2
was not getting set to the proper value.

fill_last was pretty much a duplicate of route_dram_access except
different assumptions were made, so I have removed fill_last again.

If you have memory that doesn't get setup properly now holler.

So we should be pretty close.  Before I can go much farther I need a
test for pre rev c0 cpus.  Because a lot of the remaining memory code
needs to be conditional on it.

I am in the last stages of stabilizing an internal version to
be used in large scale testing to search for hardware
incompatibilities.

I also have a the links width and speed being automatically setup
properly.  But the way I discover the links is still kind of
nasty, so I am not quite ready to push the code back yet.

I should be switching over to the new configuration system on Monday
and once that is sorted out quite I can start putting hard codes
where they belong in the board specific configuration.

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-31 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 I have checked your old k8/cpufixup.c, and it already has TOM2 etc setup.
 and SYSCFG_TOM2_EN...etc...

I shift by 12 instead of 10 for the low half of TOP_MEM2...

Which tends to leave TOP_MEM2 at 4GB...

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: Fixes for Tyan s2880

2003-07-31 Thread YhLu
Eric,

I see.

I move some code from raminit.c setup_top_ram to it and have a try.

Regards

Yinghai Lu

--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2003731 20:40
: YhLu
: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
: Re: Fixes for Tyan s2880

YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 I have checked your old k8/cpufixup.c, and it already has TOM2 etc setup.
 and SYSCFG_TOM2_EN...etc...

I shift by 12 instead of 10 for the low half of TOP_MEM2...

Which tends to leave TOP_MEM2 at 4GB...

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-31 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 Great. Then there should be no big issue on opteron any more.
 
 Can you send to the new raminit.c to me now?

Here is my most recent snapshot, which is slightly newer
than what I have in the public CVS tree.

I think I need to scrub all of memory on the B3 stepping before
I start using it.  I have not tested anything that is C0 specific yet.

Eric

#include cpu/k8/mtrr.h
#include raminit.h

/* Function 2 */
#define DRAM_CSBASE0x40
#define DRAM_CSMASK0x60
#define DRAM_BANK_ADDR_MAP 0x80
#define DRAM_TIMING_LOW0x88
#define  DTL_TCL_SHIFT 0
#define  DTL_TCL_MASK  0x7
#define   DTL_CL_2 1
#define   DTL_CL_3 2
#define   DTL_CL_2_5   5
#define  DTL_TRC_SHIFT 4
#define  DTL_TRC_MASK  0xf
#define   DTL_TRC_BASE 7
#define   DTL_TRC_MIN  7
#define   DTL_TRC_MAX  22
#define  DTL_TRFC_SHIFT8
#define  DTL_TRFC_MASK 0xf
#define   DTL_TRFC_BASE9
#define   DTL_TRFC_MIN 9
#define   DTL_TRFC_MAX 24
#define  DTL_TRCD_SHIFT12
#define  DTL_TRCD_MASK 0x7
#define   DTL_TRCD_BASE0
#define   DTL_TRCD_MIN 2
#define   DTL_TRCD_MAX 6
#define  DTL_TRRD_SHIFT16
#define  DTL_TRRD_MASK 0x7
#define   DTL_TRRD_BASE0
#define   DTL_TRRD_MIN 2
#define   DTL_TRRD_MAX 4
#define  DTL_TRAS_SHIFT20
#define  DTL_TRAS_MASK 0xf
#define   DTL_TRAS_BASE0
#define   DTL_TRAS_MIN 5
#define   DTL_TRAS_MAX 15
#define  DTL_TRP_SHIFT 24
#define  DTL_TRP_MASK  0x7
#define   DTL_TRP_BASE 0
#define   DTL_TRP_MIN  2
#define   DTL_TRP_MAX  6
#define  DTL_TWR_SHIFT 28
#define  DTL_TWR_MASK  0x1
#define   DTL_TWR_BASE 2
#define   DTL_TWR_MIN  2
#define   DTL_TWR_MAX  3
#define DRAM_TIMING_HIGH   0x8c
#define  DTH_TWTR_SHIFT0
#define  DTH_TWTR_MASK 0x1
#define   DTH_TWTR_BASE1
#define   DTH_TWTR_MIN 1
#define   DTH_TWTR_MAX 2
#define  DTH_TRWT_SHIFT4
#define  DTH_TRWT_MASK 0x7
#define   DTH_TRWT_BASE1
#define   DTH_TRWT_MIN 1
#define   DTH_TRWT_MAX 6
#define  DTH_TREF_SHIFT8
#define  DTH_TREF_MASK 0x1f
#define   DTH_TREF_100MHZ_4K 0x00
#define   DTH_TREF_133MHZ_4K 0x01
#define   DTH_TREF_166MHZ_4K 0x02
#define   DTH_TREF_200MHZ_4K 0x03
#define   DTH_TREF_100MHZ_8K 0x08
#define   DTH_TREF_133MHZ_8K 0x09
#define   DTH_TREF_166MHZ_8K 0x0A
#define   DTH_TREF_200MHZ_8K 0x0B
#define  DTH_TWCL_SHIFT 20
#define  DTH_TWCL_MASK  0x7
#define   DTH_TWCL_BASE 1
#define   DTH_TWCL_MIN  1
#define   DTH_TWCL_MAX  2
#define DRAM_CONFIG_LOW0x90
#define  DCL_DLL_Disable   (10)
#define  DCL_D_DRV (11)
#define  DCL_QFC_EN(12)
#define  DCL_DisDqsHys (13)
#define  DCL_DramInit  (18)
#define  DCL_DramEnable(110)
#define  DCL_MemClrStatus  (111)
#define  DCL_ESR   (112)
#define  DCL_SRS   (113)
#define  DCL_128BitEn  (116)
#define  DCL_DimmEccEn (117)
#define  DCL_UnBufDimm (118)
#define  DCL_32ByteEn  (119)
#define  DCL_x4DIMM_SHIFT  20
#define DRAM_CONFIG_HIGH   0x94
#define  DCH_ASYNC_LAT_SHIFT  0
#define  DCH_ASYNC_LAT_MASK   0xf
#define   DCH_ASYNC_LAT_BASE  0
#define   DCH_ASYNC_LAT_MIN   0
#define   DCH_ASYNC_LAT_MAX   15
#define  DCH_RDPREAMBLE_SHIFT 8
#define  DCH_RDPREAMBLE_MASK  0xf
#define   DCH_RDPREAMBLE_BASE ((21)+0) /* 2.0 ns */
#define   DCH_RDPREAMBLE_MIN  ((21)+0) /* 2.0 ns */
#define   DCH_RDPREAMBLE_MAX  ((91)+1) /* 9.5 ns */
#define  DCH_IDLE_LIMIT_SHIFT 16
#define  DCH_IDLE_LIMIT_MASK  0x7
#define   DCH_IDLE_LIMIT_00
#define   DCH_IDLE_LIMIT_41
#define   DCH_IDLE_LIMIT_82
#define   DCH_IDLE_LIMIT_16   3
#define   DCH_IDLE_LIMIT_32   4
#define   DCH_IDLE_LIMIT_64   5
#define   DCH_IDLE_LIMIT_128  6
#define   DCH_IDLE_LIMIT_256  7
#define  DCH_DYN_IDLE_CTR_EN (1  19)
#define  DCH_MEMCLK_SHIFT 20
#define  DCH_MEMCLK_MASK  0x7
#define   DCH_MEMCLK_100MHZ   0
#define   DCH_MEMCLK_133MHZ   2
#define   DCH_MEMCLK_166MHZ   5
#define   DCH_MEMCLK_200MHZ   7
#define  DCH_MEMCLK_VALID (1  25)
#define  DCH_MEMCLK_EN0   (1  26) 
#define  DCH_MEMCLK_EN1   (1  27) 
#define  DCH_MEMCLK_EN2   (1  28) 
#define  DCH_MEMCLK_EN3   (1  29) 

/* Function 3 */
#define MCA_NB_CONFIG  0x44
#define   MNC_ECC_EN   (1  22)
#define   MNC_CHIPKILL_EN  (1  23)
#define SCRUB_CONTROL  0x58
#define   SCRUB_NONE0
#define   SCRUB_40ns1
#define   SCRUB_80ns2
#define   SCRUB_160ns   3
#define   SCRUB_320ns   4
#define   SCRUB_640ns   5
#define   SCRUB_1_28us  6
#define   SCRUB_2_56us  7
#define   SCRUB_5_12us  8
#define   SCRUB_10_2us  9
#define   SCRUB_20_5us 10
#define   SCRUB_41_0us 11
#define   SCRUB_81_9us 12
#define   SCRUB_163_8us13
#define   SCRUB_327_7us14
#define   SCRUB_655_4us15
#define   SCRUB_1_31ms 16
#define   SCRUB_2_62ms 17
#define   SCRUB_5_24ms 18 
#define   SCRUB_10_49ms19
#define   

re: Fixes for Tyan s2880

2003-07-31 Thread YhLu
Eric,

It works. For 6G.  Tommorrow I will try 12G.

Thanks.

Yinghai Lu

--
: YhLu 
: 2003731 20:44
: [EMAIL PROTECTED]
: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
: : Fixes for Tyan s2880

Eric,

I see.

I move some code from raminit.c setup_top_ram to it and have a try.

Regards

Yinghai Lu

--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2003731 20:40
: YhLu
: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
: Re: Fixes for Tyan s2880

YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 I have checked your old k8/cpufixup.c, and it already has TOM2 etc setup.
 and SYSCFG_TOM2_EN...etc...

I shift by 12 instead of 10 for the low half of TOP_MEM2...

Which tends to leave TOP_MEM2 at 4GB...

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-30 Thread Stefan Reinauer
* Eric W. Biederman [EMAIL PROTECTED] [030730 07:55]:
  Index: src/southbridge/amd/amd8111/amd8111_ldtstop.c
  ===
  RCS file:
  /cvsroot/freebios/freebios2/src/southbridge/amd/amd8111/amd8111_ldtstop.c,v
  
  retrieving revision 1.4
  diff -r1.4 amd8111_ldtstop.c
  22c22
 pci_write_config16(dev, 0x48, pci_read_config16(dev,0x48)  ~CPUPIN);
  ---
 pci_write_config32(dev, 0x48, pci_read_config32(dev,0x48)  ~CPUPIN);
 
The Bios and kernel developers guide specifies 16bit for that register.
But since it's all Little Endian it really does not matter.

OTOH, if Tom gets his warm reboot code in place after setting link
speed, we can probably get rid of ldtstop assertion completely.

How does doing a warm boot there affect boot time?



Stefan
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-30 Thread Eric W. Biederman
Stefan Reinauer [EMAIL PROTECTED] writes:

 * Eric W. Biederman [EMAIL PROTECTED] [030730 07:55]:
   Index: src/southbridge/amd/amd8111/amd8111_ldtstop.c
   ===
   RCS file:
   /cvsroot/freebios/freebios2/src/southbridge/amd/amd8111/amd8111_ldtstop.c,v
   
   retrieving revision 1.4
   diff -r1.4 amd8111_ldtstop.c
   22c22
pci_write_config16(dev, 0x48, pci_read_config16(dev,0x48)  ~CPUPIN);
   ---
pci_write_config32(dev, 0x48, pci_read_config32(dev,0x48)  ~CPUPIN);
  
 The Bios and kernel developers guide specifies 16bit for that register.
 But since it's all Little Endian it really does not matter.
 
 OTOH, if Tom gets his warm reboot code in place after setting link
 speed, we can probably get rid of ldtstop assertion completely.

The code is there.  There is a challenge because of errata #48 that
says the 8131 cannot operate at 800Mhz reliably, but it reports that it can.

 How does doing a warm boot there affect boot time?

It pretty much doubles the time before the booloader.  And there is
the large delay that you see on current Opteron systems.

My plan for today is to see about integrating all of these divergent
pieces so I have everything working in one tree.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-30 Thread ron minnich
On 29 Jul 2003, Eric W. Biederman wrote:

 Hmm.  We can't have a per architecture default _RAMBASE?

not sure if it makes sense per architecture. Consider those Alpha boards 
where rambase depended on chip type, board type, engineer's last name, and 
phase of the moon. I'm sure we'll see more of that. 


 Ron while we are thinking about it where should we place tables on the
 ARM?  It has a ROM chip as the first thing in memory.

cool! you're looking at ARM? 

possibly at put tables at the other end of memory? Is there an ARM 
standard for this?

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-30 Thread Eric W. Biederman
ron minnich [EMAIL PROTECTED] writes:

 On 29 Jul 2003, Eric W. Biederman wrote:
 
  Hmm.  We can't have a per architecture default _RAMBASE?
 
 not sure if it makes sense per architecture. Consider those Alpha boards 
 where rambase depended on chip type, board type, engineer's last name, and 
 phase of the moon. I'm sure we'll see more of that. 

Hmm.  Perhaps.  The SGI Itanium nodes start their memory at 196GB.

For commodity stuff standardization is the rule of the game, so
how much of this we will have to deal with LinuxBIOS wise is an interesting
question.  Mostly on the embedded stuff I would suspect.

  Ron while we are thinking about it where should we place tables on the
  ARM?  It has a ROM chip as the first thing in memory.
 
 cool! you're looking at ARM? 

No, I have just been talking to a lot of people doing embedded stuff.
And I like to look at problems long before I actually have to cope with
them.  

 possibly at put tables at the other end of memory? Is there an ARM 
 standard for this?

ARM kernels currently have a fair amount of board specific knowledge
in them.  An ARM BIOS is so far to easy to share code with LinuxBIOS,
but we may be able to share a table structure with.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-29 Thread ron minnich
OK, I have applied Yh Lu's patches for the most part. In almost all cases 
they are tyan 2880-specific. There are three things I can see that might 
affect others:

#ifdef some-variable 
no longer works in many places, it has to be
#if some-variable == 1

to work.


-  for the new config too, there is no longer a default for _RAMBASE, 
due to PPC and K8 differences

raminit.c sees the following changes:
Index: src/northbridge/amd/amdk8/raminit.c
===
RCS file: /cvsroot/freebios/freebios2/src/northbridge/amd/amdk8/raminit.c,v
retrieving revision 1.12
diff -r1.12 raminit.c
921a922,927
 //BY LYH  add IOMMU 64M APERTURE
   PCI_ADDR(0, 0x18, 3, 0x94), 0x8000, 0x0f70,
   PCI_ADDR(0, 0x18, 3, 0x90), 0xff80, 0x0002,
 PCI_ADDR(0, 0x18, 3, 0x98), 0x000f, 0x00068300,
 
 //BY LYH END
1119c1125,1141
 
---
 static void fill_last(unsigned long node_id,unsigned long base)
 {
 //BY LYH //Fill next base reg with right value
 unsigned i;
 unsigned base_reg;
 base =0x;
   device_t device;
 for(device = PCI_DEV(0, 0x18, 1); device = PCI_DEV(0, 0x1f, 1); device
 += PCI_DEV(0, 1, 0)) {
   for(i=node_id+1;i=7;i++) {
   base_reg=0x40+(i3);
   pci_write_config32(device,base_reg,base);
   }
 }
 //BY LYH END
 }
  
1128a1151
 
1145a1169
   
1254,1256c1278,1280
   print_debug(csbase=);
   print_debug_hex32(csbase);
   print_debug(\r\n);
---
 //print_debug(csbase=);
 //print_debug_hex32(csbase);
 //print_debug(\r\n);
1285a1310,1312
 //BY LYH
 fill_last(ctrl-node_id, tom_k2);
 //BY LYH END
1288,1291c1315,1319
   if(ctrl-node_id==1) {
   pci_write_config32(ctrl-f2, DRAM_CSBASE, 0x0001);
   
   }   
---
 dump_pci_device(PCI_DEV(0, 0x18, 1));
  
 //if(ctrl-node_id==1) {
 //pci_write_config32(ctrl-f2, DRAM_CSBASE, 0x0001);
 //}   


and the amd8111 sees this:

Index: src/southbridge/amd/amd8111/amd8111_ldtstop.c
===
RCS file: /cvsroot/freebios/freebios2/src/southbridge/amd/amd8111/amd8111_ldtstop.c,v
retrieving revision 1.4
diff -r1.4 amd8111_ldtstop.c
22c22
   pci_write_config16(dev, 0x48, pci_read_config16(dev,0x48)  ~CPUPIN);
---
   pci_write_config32(dev, 0x48, pci_read_config32(dev,0x48)  ~CPUPIN);
 

If this is trouble, let me know.

You are going to have to set _RAMBASE in your mainboard Config.lb now.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-28 Thread Stefan Reinauer
* ron minnich [EMAIL PROTECTED] [030728 06:38]:
 Eric and Stefan, please pick a name and let us know what it should be. Are 
 CONFIG_MAX_CPUS and CONFIG_MAX_PHYSICAL_CPUS the same or different (I'm 
 guessing different due to hyperthreading)?
 
I agree. Naming CONFIG_MAX_CPUS CONFIG_MAX_LOGICAL_CPUS would imply that
there is a number of max. physical cpus as well.

  Stefan

-- 
Architecture Team
SuSE Linux AG
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-28 Thread YhLu
Ron.

Changes in raminit.c add fill_last function.
So remove following error while kernel booting:

 Scanning NUMA topology in Northbridge 24
Node 0 MemBase  Limit 7fff
Node 1 MemBase 8000 Limit f000
Node map not sorted 8000,0
No NUMA configuration found
Faking a node at -f000
Bootmem setup node 0 -f000


To:
 Scanning NUMA topology in Northbridge 24
Node 0 MemBase  Limit 7fff
Node 1 MemBase 8000 Limit f000
Using node hash shift of 24
Bootmem setup node 0 -7fff
Bootmem setup node 1 8000-f000


Is the raminit.c taken care by ERIC? Is he planning to add 4G support in
that?

Regards

Yinghai Lu




tyan-2880-072803-change.diff.gz
Description: Binary data


Re: Fixes for Tyan s2880

2003-07-28 Thread ron minnich
Yh Lu, this will take me a little time to integrate your patches, I hope 
to be done tomorrow. Some of the things you have patched I have also 
fixed, but due to the 24-hour delay at sourceforge.net, we are out of 
sync. 

Thanks for your patches, I hpoe to commit by tomorrow.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-27 Thread ron minnich
On Sat, 26 Jul 2003, Yinghai Lu wrote:

 I can send you the diff next Monday if you want.

please do.

 
 I add LINUXBIOS_EXTRA_VERSION to the Option.lb in the config. Use that
 We can diff from normal boot to fallback boot in the output.

very cool.

 
 Change some #ifdef to #if CONFIG_SMP==1

thanks, we're still working on them. 


 Also please verify
 1. Several CONFIG_MAX_CPUS using in the source code, You may need to
 select one from CONFIG_MAX_CPUS and
 MAX_CPUS.CONFIG_MAX_PHYSICAL_CPUS.
 Since all SMP have been changed to CONFIG_SMP, and Will you use
 CONFIG_MAX_CPUS etc instead of MAX_CPUS etc...

Eric and Stefan, please pick a name and let us know what it should be. Are 
CONFIG_MAX_CPUS and CONFIG_MAX_PHYSICAL_CPUS the same or different (I'm 
guessing different due to hyperthreading)?

 2. Config.lb in arch/i386/smp, missed secondary.S.need to remove the #.

I fixed this too, please make sure you have it as I have comitted it.

 3. _RAMBASE default is 0x10 in the new Config , and it is not
 working with SMP. In hardwaremain(), can not start the second CPU. Need
 to change to 0x4000 as the old config tool did.

Done and committed. Eric, Stefan, please make sure this is not a problem 
for you, but it looks harmless to me.

 4. You need to remove make.base.lb, since the function has been replaced
 by the above Config.lb.  the rule control make linuxbios.rom.

Done and committed.

I thank you for using the new tool. We intend to make further changes this 
week as requested by Stefan. I am on vacation so this will not happen as 
quickly as I would wish, but it should happen. I think we are getting 
closer to the goals we set for the new tool. I know Greg is very happy 
with it for his use on PPC. 

thanks

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-26 Thread Yinghai Lu
Ron,

The image that is built via the new config tool can work as the old
config tools last night.
CHIP_CONFIGURE is workable too. It will be very useful to device config
or disable some device.

I can send you the diff next Monday if you want.

I add LINUXBIOS_EXTRA_VERSION to the Option.lb in the config. Use that
We can diff from normal boot to fallback boot in the output.

Change some #ifdef to #if CONFIG_SMP==1

Also please verify
1. Several CONFIG_MAX_CPUS using in the source code, You may need to
select one from CONFIG_MAX_CPUS and
MAX_CPUS.CONFIG_MAX_PHYSICAL_CPUS.
Since all SMP have been changed to CONFIG_SMP, and Will you use
CONFIG_MAX_CPUS etc instead of MAX_CPUS etc...
2. Config.lb in arch/i386/smp, missed secondary.S.need to remove the #.
3. _RAMBASE default is 0x10 in the new Config , and it is not
working with SMP. In hardwaremain(), can not start the second CPU. Need
to change to 0x4000 as the old config tool did.
4. You need to remove make.base.lb, since the function has been replaced
by the above Config.lb.  the rule control make linuxbios.rom.

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2003725 14:44
: YhLu
: Re: Fixes for Tyan s2880

On Fri, 25 Jul 2003, YhLu wrote:

 1. I have tried to add lines
 In targets/tyan/s2880/Config.lb
 
 Uses CONFIG_LSI_SCSI_FW_FIXUP
 Option CONFIG_LSI_SCSI_FW_FIXUP=1

you shouldn't need to do that at all. What code depends on it? 

As I set up the code, this should just be working right now. We need to 
talk about what you need to do, I may have gotten part of it wrong.

 
 2. Another problem:
 In Makefile newconfig tool it creates, it says
 linuxbios.rom: linuxbios.strip buildrom
   ./buildrom $ $@ $(PAYLOAD) $(ROM_IMAGE_SIZE) $(ROM_SIZE)
 
 can you change ROM_SIZE to ROM_SECTION_SIZE?

committed.

 You also changes the standing for linuxbios.rom. old tool it doesn't
include
 pay load and only romimage include payload, if so you should discard
 romimage define.

fixed and committed. 

Thanks very much for working with the new tool.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-25 Thread YhLu
Ron,

It seems that you roll back to the tree, because of Stefan's complain.

I want to give detail description on the coherent_ht.c and raminit.c
1. coherent_ht.c  add two function: notify_bsp_ap_is_stopped. And
wait_ap_stop.
2. raminit.c change csbase counting methods.

Any way you at least can put files on s2880 for me.

Also please send the Config.lb to me and I would to test the new config
tool.

Thanks.

Regards

Yinghai Lu
--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2003724 21:31
: [EMAIL PROTECTED]
: Fixes for Tyan s2880

Yh Lu needed to add a mainboard-specific initialization code for the Tyan
s2880 board, and needed it called at a special place in hardwaremain(). In
V1, we would use defines and other such trickery to get this capability.
We're trying to avoid that in V2.

This problem turns out to be a perfect use for the static device
initialization support.

First, we apply patches that are tyan-only or are bug fixes to these files:

src/include/device/pci_ids.h
src/mainboard/tyan/s2880/auto.c
src/mainboard/tyan/s2880/Config
src/mainboard/tyan/s2880/debug.c
src/mainboard/tyan/s2880/failover.c
src/mainboard/tyan/s2880/static_devices.c
src/mainboard/tyan/s2880/tyan-fallback.config
src/mainboard/tyan/s2880/tyan-normal.config
src/mainboard/tyan/s2880/VERSION
src/mainboard/tyan/VERSION
src/northbridge/amd/amdk8/coherent_ht.c
src/northbridge/amd/amdk8/raminit.c
src/southbridge/amd/amd8111/Config
src/southbridge/amd/amd8111/Config.lb
src/southbridge/amd/amd8131/amd8131_bridge.c
targets/tyan/s2880/Config.lb

Now, we need to ensure that YhLu's special code is called for his
mainboard. 

As it happens, the mainboard is also a chip in the new scheme. The
config tool builds a tree based on this structure, from 
src/include/device/chip.h: 

struct chip {
  struct chip_control *control; /* for this device */
  char *path; /* can be 0, in which case the default is taken */
  char *configuration; /* can be 0. */
  int irq;
  struct chip *next, *children;
  /* there is one of these for each INSTANCE of a chip */
  void *chip_info; /* the dreaded void * */
};

The tree for the s2880 looks like this:

=
#include device/chip.h
struct chip static_root, static_dev1, static_dev2, static_dev3, static_dev4,
sta
tic_dev5, static_dev6, static_dev7, static_dev8, static_dev9, static_dev10;
#include /home/rminnich/src/bios/freebios2/src/mainboard/tyan/s2880/chip.h

struct chip static_root = {
/* mainboard /home/rminnich/src/bios/freebios2/src/mainboard/tyan/s2880 */
  .children = static_dev9,
};
struct chip static_dev9 = {
/* cpu /home/rminnich/src/bios/freebios2/src/cpu/k8 */
  .next = static_dev8,
};

.
.
.

==

(the rest is removed for clearness)

Note that there are even chips for CPUs: it is possible to handle
CPU fixup in this system. 

Each entry in the above structures defines a static device. 

Please recall that static devices consist of a generic structure and then 
special-purpose (device specific) structures. 

The generic structure is this:
/* there is one of these for each TYPE of chip */
struct chip_control {
  void (*enable)(struct chip *, enum chip_pass);
  char *path; /* the default path. Can be overridden
   * by commands in config
   */
  // This is the print name for debugging
  char *name;
};

Device-specific classes are defined by the attributes of the device, and
hence vary for each device. In the V1 days, we tried to have one 
generic structure, but that did not even work for the limited case
of superio's, so for V2 we are making the structure unique to 
each device. 

We have to define one device structure for the Tyan s2880. 
The structure has to be defined in an include file that is in the 
directory that contains the code for the device. So, for the 
tyan s2880 mainboard, we need to have a definition file in 
src/mainboard/tyan/s2880. We'll call it src/mainboard/tyan/s2880/chip.h. 

In this case, it is rather simple:

struct mainboard_tyan_s2880_config {
int fixup_scsi;
};

This is the only thing we're controlling at present. Note that the name of 
the struct is a 'flattened' version of the device name.

We need to tell the config tool where to find the file containing the 
structure, and how to initialize the struct in the file.
Add these lines to src/tyan/s2880/Config.lb. They will define the name of
the 
file to use, and the code to initialize the static device. 

config chip.h 
register fixup_scsi = 1

We need to create the structure that defines the generic structure for the 
mainboard, so linuxbios can hook into it. So add these lines to the end
of src/mainboard/tyan/s2880/mainboard.c:

struct chip_control mainboard_tyan_s2880_control = {
enable: enable,
name:   Tyan s2880 mainboard 
};

Then add the enable function (BEFORE the struct chip_control declaration).
Note that it is declared 'static', and has only one entry in the 
switch. 

static void
enable(struct chip *chip, enum chip_pass pass

Re: Fixes for Tyan s2880

2003-07-25 Thread ron minnich
On Fri, 25 Jul 2003, YhLu wrote:

 It seems that you roll back to the tree, because of Stefan's complain.

no, I did not roll anything back. Did something roll back?

Or are you seeing the 24-hour sourceforge.net delay?

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: Fixes for Tyan s2880

2003-07-25 Thread YhLu
Maybe you are right, becase I can not see any update on s2880 dir. And can
not get config.lb and chip.c that you prepare for me.

Can you send those files to me?

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2003725 12:05
: YhLu
: [EMAIL PROTECTED]
: Re: Fixes for Tyan s2880

On Fri, 25 Jul 2003, YhLu wrote:

 It seems that you roll back to the tree, because of Stefan's complain.

no, I did not roll anything back. Did something roll back?

Or are you seeing the 24-hour sourceforge.net delay?

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-24 Thread Stefan Reinauer
* ron minnich [EMAIL PROTECTED] [030724 21:37]:
 Thank you for the patch. 
 
 What I would like to do is get my linuxbios back to working condition, 
 then merge these in. Otherwise, if Stefan can test and verify them, maybe 
 he can merge them in before me. 

I'm sitting at home and don't have access to any SMP K8 from here, so
I'm going to test (and commit) this tommorrow at work..

  Greetings,
 Stefan
-- 
Architecture Team
SuSE Linux AG
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-24 Thread ron minnich
OK, I'm back, the checked out tree works fine now. 

YhLu, I will try to commit your changes tomrrow.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-24 Thread ron minnich
YhLu: I can fix your problem without adding the mainboard init function to 
hardware main, and also without code like this to the include file:


#ifdef FINAL_MAINBOARD_FIXUP
void final_mainboard_fixup(void);
#else
#  define final_mainboard_fixup() do {} while(0)
#endif /* FINAL_MAINBOARD_FIXUP */



All I need to do is add an enable function for the mainboard into the 
static device tree, and create a structure for your mainboard in the 
mainboard/tyan/2880 directory. This is pretty easy, and will let us test 
out the new static device support. 

But, if I make this change you are going to have to use the new config
tool for your mainboard. There is no going back to the old config tool
once I make the change.

The new config tool is working pretty well, now, however: Greg and Stefan 
and I are using it, and Greg and I use it exclusively. There are still 
some glitches here and there but overall it is quite solid.

Is this acceptable to you? Stefan, Greg, and I can help you with any
problems you encounter with the new config tool.

thanks

ron


___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-24 Thread YhLu
Good, I will use your new config tool for s2880.

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2003724 16:07
: YhLu
: [EMAIL PROTECTED]; Stefan Reinauer; [EMAIL PROTECTED]
: Re: K8 + 2.4.21 + Tyan S2880

YhLu: I can fix your problem without adding the mainboard init function to 
hardware main, and also without code like this to the include file:


#ifdef FINAL_MAINBOARD_FIXUP
void final_mainboard_fixup(void);
#else
#  define final_mainboard_fixup() do {} while(0)
#endif /* FINAL_MAINBOARD_FIXUP */



All I need to do is add an enable function for the mainboard into the 
static device tree, and create a structure for your mainboard in the 
mainboard/tyan/2880 directory. This is pretty easy, and will let us test 
out the new static device support. 

But, if I make this change you are going to have to use the new config
tool for your mainboard. There is no going back to the old config tool
once I make the change.

The new config tool is working pretty well, now, however: Greg and Stefan 
and I are using it, and Greg and I use it exclusively. There are still 
some glitches here and there but overall it is quite solid.

Is this acceptable to you? Stefan, Greg, and I can help you with any
problems you encounter with the new config tool.

thanks

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-24 Thread ron minnich
OK, I will start on this tonight.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Fixes for Tyan s2880

2003-07-24 Thread ron minnich
Yh Lu needed to add a mainboard-specific initialization code for the Tyan
s2880 board, and needed it called at a special place in hardwaremain(). In
V1, we would use defines and other such trickery to get this capability.
We're trying to avoid that in V2.

This problem turns out to be a perfect use for the static device
initialization support.

First, we apply patches that are tyan-only or are bug fixes to these files:

src/include/device/pci_ids.h
src/mainboard/tyan/s2880/auto.c
src/mainboard/tyan/s2880/Config
src/mainboard/tyan/s2880/debug.c
src/mainboard/tyan/s2880/failover.c
src/mainboard/tyan/s2880/static_devices.c
src/mainboard/tyan/s2880/tyan-fallback.config
src/mainboard/tyan/s2880/tyan-normal.config
src/mainboard/tyan/s2880/VERSION
src/mainboard/tyan/VERSION
src/northbridge/amd/amdk8/coherent_ht.c
src/northbridge/amd/amdk8/raminit.c
src/southbridge/amd/amd8111/Config
src/southbridge/amd/amd8111/Config.lb
src/southbridge/amd/amd8131/amd8131_bridge.c
targets/tyan/s2880/Config.lb

Now, we need to ensure that YhLu's special code is called for his mainboard. 

As it happens, the mainboard is also a chip in the new scheme. The
config tool builds a tree based on this structure, from 
src/include/device/chip.h: 

struct chip {
  struct chip_control *control; /* for this device */
  char *path; /* can be 0, in which case the default is taken */
  char *configuration; /* can be 0. */
  int irq;
  struct chip *next, *children;
  /* there is one of these for each INSTANCE of a chip */
  void *chip_info; /* the dreaded void * */
};

The tree for the s2880 looks like this:

=
#include device/chip.h
struct chip static_root, static_dev1, static_dev2, static_dev3, static_dev4, sta
tic_dev5, static_dev6, static_dev7, static_dev8, static_dev9, static_dev10;
#include /home/rminnich/src/bios/freebios2/src/mainboard/tyan/s2880/chip.h

struct chip static_root = {
/* mainboard /home/rminnich/src/bios/freebios2/src/mainboard/tyan/s2880 */
  .children = static_dev9,
};
struct chip static_dev9 = {
/* cpu /home/rminnich/src/bios/freebios2/src/cpu/k8 */
  .next = static_dev8,
};

.
.
.

==

(the rest is removed for clearness)

Note that there are even chips for CPUs: it is possible to handle
CPU fixup in this system. 

Each entry in the above structures defines a static device. 

Please recall that static devices consist of a generic structure and then 
special-purpose (device specific) structures. 

The generic structure is this:
/* there is one of these for each TYPE of chip */
struct chip_control {
  void (*enable)(struct chip *, enum chip_pass);
  char *path; /* the default path. Can be overridden
   * by commands in config
   */
  // This is the print name for debugging
  char *name;
};

Device-specific classes are defined by the attributes of the device, and
hence vary for each device. In the V1 days, we tried to have one 
generic structure, but that did not even work for the limited case
of superio's, so for V2 we are making the structure unique to 
each device. 

We have to define one device structure for the Tyan s2880. 
The structure has to be defined in an include file that is in the 
directory that contains the code for the device. So, for the 
tyan s2880 mainboard, we need to have a definition file in 
src/mainboard/tyan/s2880. We'll call it src/mainboard/tyan/s2880/chip.h. 

In this case, it is rather simple:

struct mainboard_tyan_s2880_config {
int fixup_scsi;
};

This is the only thing we're controlling at present. Note that the name of 
the struct is a 'flattened' version of the device name.

We need to tell the config tool where to find the file containing the 
structure, and how to initialize the struct in the file.
Add these lines to src/tyan/s2880/Config.lb. They will define the name of the 
file to use, and the code to initialize the static device. 

config chip.h 
register fixup_scsi = 1

We need to create the structure that defines the generic structure for the 
mainboard, so linuxbios can hook into it. So add these lines to the end
of src/mainboard/tyan/s2880/mainboard.c:

struct chip_control mainboard_tyan_s2880_control = {
enable: enable,
name:   Tyan s2880 mainboard 
};

Then add the enable function (BEFORE the struct chip_control declaration).
Note that it is declared 'static', and has only one entry in the 
switch. 

static void
enable(struct chip *chip, enum chip_pass pass)
{

struct mainboard_tyan_s2880_config *conf =
(struct mainboard_tyan_s2880_config *)chip-chip_info;

switch (pass) {
default: break;
case CONF_PASS_PRE_BOOT:
 if (conf-fixup_scsi)
onboard_scsi_fixup();
printk_debug(mainboard fixup pass %d done\r\n,
pass);
break;
}

}

That's pretty much it. total changes are 170 lines.
The static

Re: K8 + 2.4.21 + Tyan S2880

2003-07-22 Thread YhLu
Eric,

It can be compiled with you new code. But it meet problems in Etherboot
stage.
In S2880 has two broadcom NIC port in 8131 bus B, and one amd 8111 built-in
nic, and even if I hide it in amd8111 init and Etherboot can find it and try
to enable it and can not find the PM cap so aborting, in the old linuxbios
code (before yesterday) ( with mem hard code), it will go to tickle on
Broadcom nic, but in the new code (yesterday check in) ( mem configurable),
it will go to MB restarting.???

How about arima broadcom nic position? 

Regards

Yinghai Lu

--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2003721 18:33
: YhLu
: ron minnich; Stefan Reinauer; [EMAIL PROTECTED]
: Re: K8 + 2.4.21 + Tyan S2880

YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 In the auto.c, if I enable : sdram_initialize(cpu1), the linuxbios need
 another 20k. What happened? Only add one line and the same function has
been
 called ???

All functions are inline and the set of functions called is large.
At least I believe that is the issue.

And good luck catching up

While I am away you get a chance.  My latest code has changed
sdram_initialize
one more time to take a cpu count parameter.

And perversely this should help because if a function is called in a loop
it will only be inlined once instead of multiple times.

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread ron minnich
On Mon, 21 Jul 2003, YhLu wrote:

 I can build the linuxbios. But it is too large and it is around 60k, and
 tg3.zelf is about 22k, and tg3--ide_disk.zelf is about 24k, then the sum is
 above 65k.So I can not build the images.

I now routinely set my linuxbios size for 64K with payload size of 32k. 

romcc is WONDERFUL but it does grow things a bit.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: : K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread ron minnich
On Mon, 21 Jul 2003, YhLu wrote:

 So fallback image will be 96K?

that's how I'm doing it. With a 1 Mbyte flash I don't worry much.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread YhLu
Ron,

So fallback image will be 96K?

Regards

Yinghai Lu

--
: ron minnich [mailto:[EMAIL PROTECTED] 
: 2003721 14:45
: YhLu
: [EMAIL PROTECTED]; Stefan Reinauer; [EMAIL PROTECTED]
: Re: K8 + 2.4.21 + Tyan S2880

On Mon, 21 Jul 2003, YhLu wrote:

 I can build the linuxbios. But it is too large and it is around 60k, and
 tg3.zelf is about 22k, and tg3--ide_disk.zelf is about 24k, then the sum
is
 above 65k.So I can not build the images.

I now routinely set my linuxbios size for 64K with payload size of 32k. 

romcc is WONDERFUL but it does grow things a bit.

ron
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread Eric W. Biederman
ron minnich [EMAIL PROTECTED] writes:

 On Mon, 21 Jul 2003, YhLu wrote:
 
  I can build the linuxbios. But it is too large and it is around 60k, and
  tg3.zelf is about 22k, and tg3--ide_disk.zelf is about 24k, then the sum is
  above 65k.So I can not build the images.
 
 I now routinely set my linuxbios size for 64K with payload size of 32k. 
 
 romcc is WONDERFUL but it does grow things a bit.

Next time I get to it I intend to start honoring the inline keyword.
The problem is that it inlines everything and creates code bloat.

So far it is working well enough and there are other priorities that I
have not come back to it.  It is my goal that before the 2.0 release
I can fit everything back into 64K for fallback again.  It is not
critical now but it is a warning sign of troubles ahead.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread Eric W. Biederman
ron minnich [EMAIL PROTECTED] writes:

 On 21 Jul 2003, Eric W. Biederman wrote:
 
  Next time I get to it I intend to start honoring the inline keyword.
  The problem is that it inlines everything and creates code bloat.
 
 hmm, I'll be wanting to see how you solve the call stack problem :-)

Well routines that are only called once will still get inlined.

And with 24 registers I have a lot more freedom, than with just 8.

Historically Fortran did not have a call stack and it made procedure
and function calls just fine.  The same techniques with registers instead
of hard coded memory locations should work fine.

  So far it is working well enough and there are other priorities that I
  have not come back to it.  It is my goal that before the 2.0 release
  I can fit everything back into 64K for fallback again.  It is not
  critical now but it is a warning sign of troubles ahead.
 
 Personally, for now, I think it's fine.

You haven't had your debug code fail to compile because linuxbios goes
over the 64K limit yet either.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread ron minnich
On 21 Jul 2003, Eric W. Biederman wrote:

 You haven't had your debug code fail to compile because linuxbios goes
 over the 64K limit yet either.

I just did :-)

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-21 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 In the auto.c, if I enable : sdram_initialize(cpu1), the linuxbios need
 another 20k. What happened? Only add one line and the same function has been
 called ???

All functions are inline and the set of functions called is large.
At least I believe that is the issue.

And good luck catching up

While I am away you get a chance.  My latest code has changed sdram_initialize
one more time to take a cpu count parameter.

And perversely this should help because if a function is called in a loop
it will only be inlined once instead of multiple times.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-20 Thread ron minnich
What I will do is first, get my tree in sync with Greg's new config tool 
code and Eric's new updates for SMP; Then look at YhLu's code and try to 
get it integrated.

Next week is K8 week for me. It is very exciting to see this coming up on 
my bench after reading about all the work you folks have been doing.

ron

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-18 Thread YhLu
Eric,

My boss has said that I can release the source code to you.

Please find out the patch I made. Make the diff to today's tree.

I didn't test RON new script and still use the old scripts tools.

I strip out the LSI scsi support, because I don't know if there is any
license problem, and I have referred to their documents and may need put
their FW in the ROM.

It's greater you add ops-enable function that make it easy to handle
special device. To some device if it is not gotten magic code, it will not
get the resource allocate to it. Before that I have to do it in init
function and re-allocate the resource to it again. Please refer to my old
amd8131_ioapic.c in southbridge/amd8111. Also you init the io_base, upper16
reg, otherwise the device in PCIX will not got io port allocated to them,
and will not work. 

I have tested Stefan's the code about coherent_ht.c, and add some hardcode
to it.
coherent_ht.o.c is the original one. Coherent_ht.1.c is total hardcode one.
coherent_ht.c and coherent_ht.2.c are modified with some hardcode ones.

raminit.c and raminit.1.c are till the hardcode one, and I have tried to use
the configurable one, but auto.c can not be compiled, it is too big and used
up REG?
The old one has been renamed to raminit.o.c. 

To start other cpus, in auto.c  We must enable apic and make sure all
apic_id is right. Please refer to mainboard/tyan/s2880/auto.c boot_cpu
function.

Again, thank you all to answer my questions to help Tyan s2880 work with
LinuxBIOS.

Regards

Yinghai Lu





change.diff.gz
Description: Binary data


Re: K8 + 2.4.21 + Tyan S2880

2003-07-18 Thread Eric W. Biederman
YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 My boss has said that I can release the source code to you.
 
 Please find out the patch I made. Make the diff to today's tree.
 
 I didn't test RON new script and still use the old scripts tools.
 
 I strip out the LSI scsi support, because I don't know if there is any
 license problem, and I have referred to their documents and may need put
 their FW in the ROM.
 
 It's greater you add ops-enable function that make it easy to handle
 special device. To some device if it is not gotten magic code, it will not
 get the resource allocate to it. Before that I have to do it in init
 function and re-allocate the resource to it again. Please refer to my old
 amd8131_ioapic.c in southbridge/amd8111. Also you init the io_base, upper16
 reg, otherwise the device in PCIX will not got io port allocated to them,
 and will not work. 
 
 I have tested Stefan's the code about coherent_ht.c, and add some hardcode
 to it.
 coherent_ht.o.c is the original one. Coherent_ht.1.c is total hardcode one.
 coherent_ht.c and coherent_ht.2.c are modified with some hardcode ones.
 
 raminit.c and raminit.1.c are till the hardcode one, and I have tried to use
 the configurable one, but auto.c can not be compiled, it is too big and used
 up REG?
 The old one has been renamed to raminit.o.c. 
 
 To start other cpus, in auto.c  We must enable apic and make sure all
 apic_id is right. Please refer to mainboard/tyan/s2880/auto.c boot_cpu
 function.
 
 Again, thank you all to answer my questions to help Tyan s2880 work with
 LinuxBIOS.

Welcome. 

You have the most interesting time.  Your stuff always seems to come in 
just as I am about to walk away for the day.

I have just gotten SMP working in my tree and that is checked in.

I did the fun thing and am using the apic timer as my timer.  It has
the nice property of working without calibration because it is based
on the FSB clock, which on the Opteron is fixed at 200Mhz.  And as a
very cool thing I have that code compiling both ways.

More later, Good Night.

Eric

___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios


Re: K8 + 2.4.21 + Tyan S2880

2003-07-14 Thread YhLu
Eric,

Thanks, I change 8k to 40k and it works. Because I put the elf in hda1.

In the Config of Ehterboot, I have set BOOT_FIRST=BOOT_DISK and
BOOT_SECOND=BOOT_NIC.
In the fallback track, It works great and if HD is not there is will boot
from Network.
About the normal boot, it seems there some problems. After change the
cmos.conf. boot_option=Normal
boot_first=HDD
boot_second=HDD
boot_third=Network

Then corresponding to BOOT_FIRST it says that Wrong index ???
When the HDD is present, it works as touch pci_ide (find one HD and print
Wrong index)/ isa_ide/ pci_ide and load image from ide.
And When the HDD is not present , it works as touch pci_ide/isa_ide/pci_nic
and load image from ide.

Is it because boot_first should be set Network fixedly?
In the main.c of Etherboot, it only at state=3 and index=0 and type
mismatched can print such Wrong index, 

It is a bug in Etherboot 5.1.8.?

Regards

Yinghai Lu


--
: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
: 2003714 18:21
: YhLu
: ron minnich; [EMAIL PROTECTED]
: Re: K8 + 2.4.21 + SuSE 64-bit mode + Arima HDAMA + 49LF040 + MTD

YhLu [EMAIL PROTECTED] writes:

 Eric,
 
 I have tried to build the tg3--ide_disk.zelf and use it in fallback and
 normal but all failed.
 
 In fallback track:
 It said: Searching for image...abort
 
 In Normal track:
 It said: Wrong index
 I have use to cmos_util to change boot track and BOOT_FIRST=HDD and
 BOOT_SECOND=Network.

Yes. It only pays attention to the variables in Normal mode.

 When building tg3--ide_disk.zelf, I used BOOT_FIRST=IDE and
BOOT_SECOND=NIC.
 
 What kind of image in HDD that eltherboot wound want?

An ELF image within 8K from the start of the DISK.  Imperfect but it works.

Eric
___
Linuxbios mailing list
[EMAIL PROTECTED]
http://www.clustermatic.org/mailman/listinfo/linuxbios