Difference between revisions of "Flag Days"

From coreboot
Jump to: navigation, search
Line 123: Line 123:
  
 
Thanks go to Zheng Bao for this command.
 
Thanks go to Zheng Bao for this command.
 +
 +
== r5311: unify quadcore.h and dualcore.h to multicore.h ==
 +
 +
Applicable if: local additions
 +
 +
#include <cpu/amd/dualcore.h>
 +
 +
and
 +
 +
#include <cpu/amd/quadcore.h>
 +
 +
have been replaced by
 +
 +
#include <cpu/amd/multicore.h>

Revision as of 16:56, 29 March 2010

This page collects sweeping changes on the tree that might have an impact on boards that weren't tested by the developer, or on uncommitted development. It's sorted by revision (and thus date) and provides a Changelog to anyone who needs to update older trees.

To prevent inaccuracies, changes prior to the creation of this page aren't logged. The head revision at the time of creation of this page was r5151.

r5152: Change in PS/2 keyboard API

Applicable if: local changes/additions to Super I/Os.

The name and function prototype of the PS/2 keyboard initialization function changed:

-void init_pc_keyboard(unsigned port0, unsigned port1, struct pc_keyboard *kbd);
+void pc_keyboard_init(struct pc_keyboard *keyboard);

This dismisses the first two arguments (which had to be the constant values 0x60, 0x64 before). This should only have an impact on locally developed Super I/O code that might require to follow this change. The changes required for porting old code are usually of the form:

-init_pc_keyboard(0x60, 0x64, 0);
+pc_keyboard_init(0);

or

-init_pc_keyboard(res0->base, res1->base, &conf->keyboard);
+pc_keyboard_init(&conf->keyboard);

r5162: Move crt0s away from user servicable parts in the build system

Applicable if: local changes/additions to mainboards

The crt0s variable in the buildsystem, which collects the various parts that are combined to crt0.o, is setup generically now.

This change must be replicated with local mainboard changes/additions. It should be enough to simply remove all crt0s entries from src/mainboard/$(MAINBOARDDIR)/Makefile.inc.

If you want to check the behaviour:

  • apply the Makefile patch (which adds the printcrt0s rule) to your tree
  • run "make printcrt0s", note the result
  • apply the entire patch
  • run "make printcrt0s", and compare the results

r5164: Move ldscripts away from user servicable parts in the build system

Applicable if: local changes/additions to mainboards

The ldscripts variable in the buildsystem, which collects the various parts of the linker script used to link coreboot, is setup generically now.

This change must be replicated with local mainboard changes/additions. It should be enough to simply remove all ldscripts entries from src/mainboard/$(MAINBOARDDIR)/Makefile.inc.

r5167: Reorganize i82801 southbridge drivers

Applicable if: your mainboard uses the i82801xx, i82801dbm, i82801ca or i82801er driver (Intel ICH).

The drivers have been unified and split up.

  • If your mainboard has an ICH0 or ICH (ie. i810 based boards) use the i82801ax driver
  • If your mainboard has an ICH2 driver (ie. i815 based boards) use the i82801bx driver
  • If your mainboard used the i82801ca driver before use the i82801cx driver
  • If your mainboard used the i82801dbm driver before use the i82801dx driver
  • If your mainboard used the i82801er driver before use the i82801ex driver

r5168: Move generic build rules away from user servicable parts in the build system

Applicable if: local changes/additions to mainboards

Various rules of object files that exist for every board, or that exist for every board with a given configuration option, are moved to src/arch/i386/Makefile.inc.

If your mainboard uses a custom reset.c file, which provides a hard_reset() function, you must add select BOARD_HAS_HARD_RESET to your board's Kconfig.

The following change only needs to be replicated with newly created local mainboards. It should be enough to remove the following lines from src/mainboard/$(MAINBOARDDIR)/Makefile.inc:

  • initobj-y += crt0.o
  • obj-y += mainboard.o
  • obj-$(CONFIG_GENERATE_MP_TABLE) += mptable.o
  • obj-$(CONFIG_GENERATE_PIRQ_TABLE) += irq_tables.o
  • obj-$(CONFIG_BOARD_HAS_HARD_RESET) += reset.o

Also, include some_path/Makefile.romccboard.inc must be dropped, as this file was removed. A statement to set ROMCCFLAGS must be kept.

If your mainboard's Makefile is empty after these changes, or only contains comments, you can remove it completely.

r5171: Move generic build rules away from user servicable parts in the build system

Applicable if: local changes/additions to mainboards

Various rules of object files that exist for every board, or that exist for every board with a given configuration option, are moved to src/arch/i386/Makefile.inc.

If your mainboard uses a custom fadt.c file, you must add select BOARD_HAS_FADT to your board's Kconfig. Better yet, the FADTs related to that chipset should be consolidated (probably in the southbridge)

If your mainboard uses a custom get_bus_conf.c file, you must add select HAVE_BUS_CONFIG to your board's Kconfig.

The following change only needs to be replicated with newly created local mainboards. It should be enough to remove the following lines from src/mainboard/$(MAINBOARDDIR)/Makefile.inc:

  • obj-y += get_bus_conf.o
  • obj-$(CONFIG_GENERATE_ACPI_TABLES) += dsdt.o
  • obj-$(CONFIG_GENERATE_ACPI_TABLES) += acpi_tables.o
  • obj-$(CONFIG_GENERATE_ACPI_TABLES) += fadt.o

Also, include some_path/Makefile.k8_CAR.inc or include some_path/Makefile.k8_ck804.inc must be dropped, as these files were removed.

If your mainboard's Makefile is empty after these changes, or only contains comments, you can remove it completely.

r5176: Automate SSDT pull-in

Applicable if: using ssdtX.asl files and ACPI_SSDTX_NUM config variable

ACPI_SSDTX_NUM must be 4 or 5 (the only values found in the tree so far, but this could be extended), and means the highest number in ssdtX.asl in the mainboard tree (numbering starts at 2). ssdt[2..X].asl are automatically pulled in by the build system then.

To adapt, please check that ACPI_SSDTX_NUM is 4 or 5, then remove the ssdt related rules in the mainboard's Makefile.

If ACPI_SSDTX_NUM should be some other value, please report to the list, so we can adapt the build system for your case.

r5259: Remove config variables related to newconfig

Applicable if: local additions to mainboards (and CPUs in some cases)

Uses of HAVE_FAILOVER_BOOT, HAVE_FALLBACK_BOOT, USE_FAILOVER_IMAGE, USE_FALLBACK_IMAGE must be removed as they were dropped from the build system and might lead to wrong behaviour.

To do this, keep the code wrapped in #if statements which evaluate to true, and remove code that the preprocessor would have left out.

r5266: Replace printk_*(...) by printk(BIOS_*, ...)

Applicable if: local additions

printk_* calls are replaced by printk(BIOS_*, ...).

To adapt, you can use something like

sed -i 's/printk_\([a-z]*\)(/printk(BIOS_\U\1\E, /g' *.c

Thanks go to Zheng Bao for this command.

r5311: unify quadcore.h and dualcore.h to multicore.h

Applicable if: local additions

#include <cpu/amd/dualcore.h>

and

#include <cpu/amd/quadcore.h>

have been replaced by

#include <cpu/amd/multicore.h>