FYI: Merge in progress...

Yinghai Lu yhlu at tyan.com
Sat Oct 16 11:44:00 CEST 2004


So chip tree is merged into device tree.

I'm eager to convert my MB to use that.

Is there any problem for different inherent links in second K8?

Regards

YH

-----Original Message-----
From: Eric W. Biederman [mailto:eric at lnxi.com] On Behalf Of Eric W.
Biederman
Sent: Saturday, October 16, 2004 2:20 AM
To: Ronald G. Minnich
Cc: YhLu; LinuxBIOS
Subject: Re: FYI: Merge in progress...


The ARIMA HDAMA now boots, and everything looks like it is working properly.

Converting everything else still remains but we now have a working example
to look at.

We are down to one device tree instead of two.
And hardwaremain has been reduced to:

void hardwaremain(int boot_complete)
{
	/* the order here is a bit tricky. We don't want to do much of 
	 * anything that uses config registers until after
PciAllocateResources
	 * since that function also figures out what kind of config strategy
	 * to use (type 1 or type 2). 
	 * so we turn on cache, then worry about PCI setup, then do other 
	 * things, so that the other work can use the PciRead* and PciWrite*
	 * functions. 
	 */
	struct lb_memory *lb_mem;

	post_code(0x80);

	/* displayinit MUST PRECEDE ALL PRINTK! */
	console_init();
	
	post_code(0x39);
	printk_notice("LinuxBIOS-%s%s %s %s...\n", 
		linuxbios_version, linuxbios_extra_version, linuxbios_build,
		(boot_complete)?"rebooting":"booting");

	post_code(0x40);

	/* If we have already booted attempt a hard reboot */
	if (boot_complete) {
		hard_reset();
	}

	/* FIXME: Is there a better way to handle this? */
	init_timer(); 

	/* pick how to scan the bus. This is first so we can get at memory
size. */
	printk_info("Finding PCI configuration type.\n");
	pci_set_method();
	post_code(0x5f);
	dev_enumerate();
	post_code(0x66);
	/* Now do the real bus.
	 * We round the total ram up a lot for thing like the SISFB, which 
	 * shares high memory with the CPU. 
	 */
	dev_configure();
	post_code(0x88);

	dev_enable();

	dev_initialize();
	post_code(0x89);

	/* Now that we have collected all of our information
	 * write our configuration tables.
	 */
	lb_mem = write_tables();

#if CONFIG_FS_STREAM == 1
	filo(lb_mem);
#else
	elfboot(lb_mem);
#endif
}

There is more scrubbing on the horizon but so for things look good.

Eric




More information about the coreboot mailing list