Hi Marc,
On 03/06/15 at 06:26 PM Marc Jones marcj303@gmail.com wrote:
Hi Varad,
Welcome! It is great to hear that you are interested in coreboot GSoC.
On Thu, Mar 5, 2015 at 8:44 AM Varad Gautam varadgautam@gmail.com wrote:
Hi,
I would like to participate in Google Summer of Code 2015 with coreboot to work on one of the following ideas:
- Enable coreboot + Tianocore over an ARM board: The Ideas page mentions
something similar [1], but I think the hardware details are to be finalized. I worked on adding BeagleBone Black support to Tianocore during GSoC-2014 with Linaro, and so have some experience with JTAG, ARM bringup and bootloaders. Which mainboard would be the intended target? I have a HiKey board (HiSilicon Kirin 6220 Cortex-A53 ARM64) [2] which could be used - I'm checking if coreboot already supports a similar SoC to base the port on.
There are a number of ARM SOCs in development that are being merged from chromium.org (chromebook). Take a look at src/soc and src/arch. This is a pretty big task, but might be a good match if you have done some similar work in past projects.
I will look into it, thanks.
- Eliminate Video BIOS requirement for AMD/ATI graphics init: I understand
this would involve dumping AtomBIOS ROM and performing those initializations under coreboot. I came across atomdis [3] and am looking for a Video BIOS ROM I could try disassembling. I need some input on how I could go about the implementation of this idea - what hardware would be suitable / what the boot flow would be. Although I haven't worked with the Linux graphics stack yet, I would like to get my hands dirty. I am currently looking through the resources at [4].
You might look at Gizmo2.
I dumped the BIOS binary for a Radeon GPU and am trying to make sense of it using the atombios kernel header [1] - are there any resources on ATOMBIOS internals I can use? I believe the GPU initialization can be done by tracing the dump contents as suggested in this thread [2], but cannot figure how new ATOMBIOS tables would be created and used. I also need to check the coreboot source to plan how this can be implemented.
I recently tried running coreboot + SeaBIOS + SYSLINUX under QEMU (as suggested on the Easy tasks page [5]), and it seems to work alright - but is it possible to find a SYSLINUX ELF image so I can eliminate SeaBIOS?
I don't know if anyone has made a SYSLINUX elf. Any small kernelvmlinuz and initrd could be used. http://www.coreboot.org/QEMU_Build_Tutorial#Building_a_Linux_kernel_payload
I would be glad to have your suggestions on how I could get started.
You can join #coreboot on IR and , start looking at the patches on Gerrit and get a feel for what is being developed.
Again, Welcome! Marc
Thanks! Are there any 'easy' bugs / features I could implement to get familiar with the development process?
[1] http://lxr.free-electrons.com/source/drivers/gpu/drm/radeon/atombios.h [2] http://www.coreboot.org/pipermail/coreboot/2013-March/075522.html
Thanks, Varad
[1] http://www.coreboot.org/Project_Ideas#coreboot_ARM_ SoC.27s_mainboard_port [2] https://www.96boards.org/products/hikey/ [3] http://www.phoronix.com/scan.php?page=article&item=amd_ atombios_dumper&num=1 [4] http://www.coreboot.org/Project_Ideas#Native_graphics_init [5] http://www.coreboot.org/Easy_projects#Add.2Ftest_new_ supported_payloads
Thanks, Varad
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot
Hi Varad!
I dumped the BIOS binary for a Radeon GPU and am trying to make sense of it using the atombios kernel header [1] - are there any resources on ATOMBIOS internals I can use? I believe the GPU initialization can be done by tracing the dump contents as suggested in this thread [2], but cannot figure how new ATOMBIOS tables would be created and used. I also need to check the coreboot source to plan how this can be implemented.
If you plan to work on native gfx init for AMD, talk to mrnuke; he already did quite some work on that.
Regards Felix
Dear Felix, dear Varad,
Varad, welcome to coreboot!
Am Freitag, den 06.03.2015, 21:50 +0100 schrieb Felix Held:
I dumped the BIOS binary for a Radeon GPU and am trying to make sense of it using the atombios kernel header [1] - are there any resources on ATOMBIOS internals I can use? I believe the GPU initialization can be done by tracing the dump contents as suggested in this thread [2], but cannot figure how new ATOMBIOS tables would be created and used. I also need to check the coreboot source to plan how this can be implemented.
If you plan to work on native gfx init for AMD, talk to mrnuke; he already did quite some work on that.
Alexandru has already pushed change sets for review [1][2][3]. Additionally he wrote some posts touching this topic, which you can read in the coreboot blog [4].
Additionally there are several threads on this mailing list, where this topic was discussed.
I wish you the best of luck with your application!
Thanks,
Paul
[1] http://review.coreboot.org/8281 [2] http://review.coreboot.org/8281 [3] http://review.coreboot.org/8281 [4] http://blogs.coreboot.org/blog/author/mrnuke/
On 03/06/15 at 11:33 PM Paul Menzel paulepanter@users.sourceforge.net wrote:
Dear Felix, dear Varad,
Varad, welcome to coreboot!
Am Freitag, den 06.03.2015, 21:50 +0100 schrieb Felix Held:
I dumped the BIOS binary for a Radeon GPU and am trying to make sense of it using the atombios kernel header [1] - are there any resources on ATOMBIOS internals I can use? I believe the GPU initialization can be done by tracing the dump contents as suggested in this thread [2], but cannot figure how new ATOMBIOS tables would be created and used. I also need to check the coreboot source to plan how this can be implemented.
If you plan to work on native gfx init for AMD, talk to mrnuke; he already did quite some work on that.
Alexandru has already pushed change sets for review [1][2][3]. Additionally he wrote some posts touching this topic, which you can read in the coreboot blog [4].
Additionally there are several threads on this mailing list, where this topic was discussed.
I wish you the best of luck with your application!
Thanks - in that case I would like to work on adding coreboot support to an ARM platform, later adding Tianocore as a payload. Here is my view of the idea, please suggest if I am on the right track:
The board specific lowlevel code would be placed at src/mainboard/<mainboard> and the SoC (gpio, uart, clock, pinmux) initialization at src/soc/<soc>. The implementation details can be taken from the SoC reference manuals, U-Boot source and the mainboard specs.
UEFI would be the second stage loader - the SoC support can be added by extending the existing ArmPkg framework, and the boot flow would look like Reset -> Coreboot lowlevel init -> UEFI Pre-PI* -> UEFI DXE.
Can the UEFI HOBs be constructed by coreboot so that Pre-PI can be removed? I also need some help figuring where libpayload fits in - Tianocore has its own implementation of C library routines (edk2/StdLib), and once UEFI takes control, these can directly be used by the FD.
I am tracing the existing ARM code. Which mainboard would be the preferred target? Also, please suggest any 'easy' patches I could send in to get comfortable with the development process.
Thanks, Varad
Thanks,
Paul
[1] http://review.coreboot.org/8281 [2] http://review.coreboot.org/8281 [3] http://review.coreboot.org/8281 [4] http://blogs.coreboot.org/blog/author/mrnuke/