Cleanup printk usage and documentation. Drop the second banner as it was
an artifact from the time when we needed stage2 phase 1 code to make printk work. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@512 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
3de758e98a
commit
fe31d1970c
2 changed files with 7 additions and 24 deletions
|
|
@ -692,14 +692,14 @@ int reset_bus(struct bus *bus)
|
|||
*
|
||||
* Starting at the first device on the global device link list,
|
||||
* walk the list and call the device's phase1() method to do very
|
||||
* early setup. phase1 should only be used for devices that CAN NOT use
|
||||
* printk(), or that are part of making printk() work.
|
||||
* early setup.
|
||||
*/
|
||||
void dev_phase1(void)
|
||||
{
|
||||
struct device *dev;
|
||||
|
||||
post_code(0x31);
|
||||
printk(BIOS_DEBUG, "Phase 1: Very early setup...\n");
|
||||
for (dev = all_devices; dev; dev = dev->next) {
|
||||
if (dev->ops && dev->ops->phase1_set_device_operations) {
|
||||
dev->ops->phase1_set_device_operations(dev);
|
||||
|
|
@ -715,7 +715,7 @@ void dev_phase1(void)
|
|||
*
|
||||
* Starting at the first device on the global device link list,
|
||||
* walk the list and call the device's phase2() method to do
|
||||
* early setup. You can use printk() in phase 2 methods.
|
||||
* early setup.
|
||||
*/
|
||||
void dev_phase2(void)
|
||||
{
|
||||
|
|
@ -729,7 +729,7 @@ void dev_phase2(void)
|
|||
printk(BIOS_SPEW,
|
||||
"Calling phase2 phase2_setup_scan_bus...");
|
||||
dev->ops->phase2_setup_scan_bus(dev);
|
||||
printk(BIOS_SPEW, " DONE");
|
||||
printk(BIOS_SPEW, " done");
|
||||
}
|
||||
printk(BIOS_SPEW, "\n");
|
||||
}
|
||||
|
|
|
|||
23
lib/stage2.c
23
lib/stage2.c
|
|
@ -34,6 +34,7 @@
|
|||
* LinuxBIOS is divided into pre-DRAM part and DRAM part. The stages before
|
||||
* this part are stage 0 and stage 1. This part contains stage 2, which
|
||||
* consists of phases 1 through 6.
|
||||
* printk has been set up in stage 1 and is working.
|
||||
*
|
||||
* Device Enumeration: in the dev_enumerate() phase.
|
||||
*
|
||||
|
|
@ -45,29 +46,11 @@ int stage2(void)
|
|||
/* TODO: Add comment. */
|
||||
void show_all_devs(void);
|
||||
|
||||
static const char console_test[] =
|
||||
"\n\nLinuxBIOS-"
|
||||
LINUXBIOS_VERSION
|
||||
LINUXBIOS_EXTRA_VERSION
|
||||
" "
|
||||
LINUXBIOS_BUILD
|
||||
" booting...\n";
|
||||
|
||||
post_code(0x20);
|
||||
|
||||
/* TODO: Explain why we use printk here although it is claimed to be
|
||||
* impossible according to the documentation. The "has to be done
|
||||
* before printk can be used" comment below seems to suggest the same.
|
||||
* However, we already enable serial in arch/x86/stage1.c:stage1_main()
|
||||
* when we call hardware_stage1(); uart_init(); console_init();
|
||||
* Why test the console again if it already is tested in stage 1?
|
||||
*/
|
||||
printk(BIOS_NOTICE, console_test);
|
||||
|
||||
dev_init();
|
||||
|
||||
/* Console init, also ANYTHING that has to be done
|
||||
* before printk can be used.
|
||||
/* Phase 1 was console init and making printk work. Both functions are
|
||||
* now performed by stage 1 code. Phase 1 is now without purpose.
|
||||
*/
|
||||
post_code(0x30);
|
||||
dev_phase1();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue