Skip to content

Commit 4833902

Browse files
committed
firmware/coreboot: Subtree merged blobs
2 parents 994e41f + fe7c6a3 commit 4833902

489 files changed

Lines changed: 97177 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

firmware/coreboot/3rdparty/blobs

Lines changed: 0 additions & 1 deletion
This file was deleted.
Binary file not shown.
Binary file not shown.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
This VSA is taken from
2+
http://marcjonesconsulting.com/gplvsa/gpl_vsa_lx_102.bin.gz
3+
4+
and decompressed for simplicity. The original SHA1 was:
5+
96a6097331278d644230eac4fc39bcfebc3c9a16 gpl_vsa_lx_102.bin.gz
6+
7+
While we have the source code (see gplvsa_ii), it requires a rather
8+
esoteric build system. Should this be fixed, we could consider adding
9+
VSA to the coreboot tree. Until then, source and binary can reside here.
Binary file not shown.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
This is the VSA (Virtual Systems Architecture) code used on the AMD
2+
Geode series of processors. The Geode, rather than carrying lots of
3+
legacy hardware interfaces that are presumed to exist on x86 systems
4+
that might be painful to implement on a highly integrated, low power
5+
processor, the Geode often emulates such interfaces by use of software that is
6+
invoked by special traps that take place when the processor accesses
7+
these devices.
8+
9+
Note that the code here is not currently buildable on open source
10+
systems, being only buildable using very obsolete and no longer
11+
commercially availble Windows based commercial toolchains. On the
12+
OLPC system, these "blobs" of binary code are concatenated together
13+
with LinuxBIOS and the bootloader, and set up to be executed by
14+
LinuxBIOS early in the Geode's initialization sequence (no linking is
15+
involved).
16+
17+
If you are interested for some reason in making this code buildable on
18+
free systems, please let us know of your progress. It is under the
19+
GNU LGPL.
20+
21+
Also note that VESA emulation is *not* included in this (nor does what
22+
we use on the OLPC machine use VESA at this date; we use frame
23+
buffer code for our console); that code was not owned by AMD and
24+
therefore not theirs to make available. Our thanks to AMD to making
25+
the VSA code available.
26+
27+
Jim Gettys, OLPC, September 27, 2006
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#
2+
# Copyright (c) 2006 Advanced Micro Devices,Inc. ("AMD").
3+
#
4+
# This library is free software; you can redistribute it and/or modify
5+
# it under the terms of the GNU Lesser General Public License as
6+
# published by the Free Software Foundation; either version 2.1 of the
7+
# License, or (at your option) any later version.
8+
#
9+
# This code is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
# Lesser General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU Lesser General
15+
# Public License along with this library; if not, write to the
16+
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17+
# Boston, MA 02111-1307 USA
18+
#
19+
20+
VSMNAME = legacy
21+
VSMDIR = $(VSA2ROOT)\$(VSMNAME)
22+
23+
24+
all:
25+
cd $(VSMDIR)
26+
$(MAKE) /nologo all "VSA2ROOT=$(VSA2ROOT)" "USER=$(USER)" "BUILDOBJ=$(OBJECT)" "CPU=$(CPU)"
27+
cd $(MAKEDIR)
28+
29+
clean:
30+
cd $(VSMDIR)
31+
$(MAKE) /nologo clean
32+
cd $(MAKEDIR)
33+
34+
cleanlocal:
35+
cd $(VSMDIR)
36+
$(MAKE) /nologo cleanlocal
37+
cd $(MAKEDIR)
38+
39+
cleanall:
40+
cd $(VSMDIR)
41+
$(MAKE) /nologo cleanall
42+
cd $(MAKEDIR)
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright (c) 2007-2008 Advanced Micro Devices,Inc. ("AMD").
2+
#
3+
# This library is free software; you can redistribute it and/or modify
4+
# it under the terms of the GNU Lesser General Public License as
5+
# published by the Free Software Foundation; either version 2.1 of the
6+
# License, or (at your option) any later version.
7+
#
8+
# This code is distributed in the hope that it will be useful,
9+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11+
# Lesser General Public License for more details.
12+
13+
# You should have received a copy of the GNU Lesser General
14+
# Public License along with this library; if not, write to the
15+
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
16+
# Boston, MA 02111-1307 USA
17+
18+
VSMNAME = lxvg
19+
VSMDIR = $(VSA2ROOT)\$(VSMNAME)
20+
21+
all:
22+
cd $(VSMDIR)
23+
$(MAKE) /nologo all "VSA2ROOT=$(VSA2ROOT)" "USER=$(USER)" "BUILDOBJ=$(OBJECT)" "CPU=$(CPU)"
24+
cd $(MAKEDIR)
25+
26+
27+
clean:
28+
cd $(VSMDIR)
29+
$(MAKE) /nologo clean
30+
cd $(MAKEDIR)
31+
32+
cleanlocal:
33+
cd $(VSMDIR)
34+
$(MAKE) /nologo cleanlocal
35+
cd $(MAKEDIR)
36+
37+
cleanall:
38+
cd $(VSMDIR)
39+
$(MAKE) /nologo cleanall
40+
cd $(MAKEDIR)
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
#
2+
# Copyright (c) 2006 Advanced Micro Devices,Inc. ("AMD").
3+
#
4+
# This library is free software; you can redistribute it and/or modify
5+
# it under the terms of the GNU Lesser General Public License as
6+
# published by the Free Software Foundation; either version 2.1 of the
7+
# License, or (at your option) any later version.
8+
#
9+
# This code is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
# Lesser General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU Lesser General
15+
# Public License along with this library; if not, write to the
16+
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17+
# Boston, MA 02111-1307 USA
18+
#
19+
# makefile for VSA2
20+
21+
22+
23+
!ifndef VSA2ROOT
24+
VSA2ROOT = $(MAKEDIR)\..
25+
!endif
26+
27+
USER = $(VSA2ROOT)
28+
29+
OBJECT = $(MAKEDIR)\obj
30+
31+
.SUFFIXES:
32+
.SUFFIXES : .exe .vsm .lib .bin .mak .cln
33+
34+
!include setvars.mak
35+
36+
VSMS = \
37+
$(OBJECT)\sysmgr.vsm \
38+
$(OBJECT)\vsainit.bin \
39+
$(OBJECT)\legacy.vsm \
40+
$(OBJECT)\lxvg.vsm
41+
42+
VSM_CLN0 = $(VSMS:.vsm=.cln)
43+
VSM_CLN = $(VSM_CLN0:.bin=.cln)
44+
45+
46+
#######################################################################
47+
#
48+
# Targets
49+
#
50+
#######################################################################
51+
all: $(OBJECT) $(VSMS) basic
52+
53+
basic: setenv
54+
@$(ECHO) Make LX VSA Image
55+
$(MAKE) /nologo vsa_lx.bin
56+
57+
$(VSMS): setenv
58+
59+
vsa_lx.bin $(OBJECT)\amd_vsa_lx.bin: $(OBJECT)\vsainit.bin $(OBJECT)\vsa2.bin
60+
@$(ECHO) Concatenate for LX Image ...
61+
-$(BINCOPY) $(OBJECT)\vsainit.bin+$(OBJECT)\vsa2.bin+$(OBJECT)\lxvg.vsm $(OBJECT)\amd_vsa_lx.bin
62+
63+
vsa2.bin $(OBJECT)\vsa2.bin: $(OBJECT)\sysmgr.vsm $(OBJECT)\legacy.vsm
64+
@$(ECHO) Concatenate for VSA2.BIN Image ...
65+
-$(BINCOPY) $(OBJECT)\sysmgr.vsm+$(OBJECT)\legacy.vsm $(OBJECT)\vsa2.bin
66+
67+
#This and only this clean target must exist as it is called by cleanall
68+
#cleanall and cleanlocal are defined in rules.mak
69+
70+
clean: cleanlocal cleanlib $(VSM_CLN) tools_clean
71+
72+
$(OBJECT):
73+
-@md $(OBJECT)
74+
75+
76+
############################################
77+
# Tools.lib
78+
############################################
79+
tools_clean:
80+
-@cd $(VSA2ROOT)\vsm_lib
81+
-@$(MAKE) /nologo cleanall
82+
-@cd $(MAKEDIR)
83+
84+
85+
###########################################################################
86+
# All VSMs
87+
###########################################################################
88+
{$(MAKEDIR)}.mak{$(OBJECT)}.vsm:
89+
$(MAKE) /nologo -f $(MAKEDIR)\%|fF.mak "VSA2ROOT=$(VSA2ROOT)" "USER=$(VSA2ROOT)" "OBJECT=$(OBJECT)" "CPU=$(CPU)"
90+
91+
{$(MAKEDIR)}.mak{$(OBJECT)}.bin:
92+
$(MAKE) /nologo -f $(MAKEDIR)\%|fF.mak "VSA2ROOT=$(VSA2ROOT)" "USER=$(VSA2ROOT)" "OBJECT=$(OBJECT)" "CPU=$(CPU)"
93+
94+
{$(MAKEDIR)}.mak{$(OBJECT)}.cln:
95+
-@$(MAKE) /nologo -f $(MAKEDIR)\%|fF.mak cleanall "VSA2ROOT=$(VSA2ROOT)" "USER=$(VSA2ROOT)"
96+
97+
98+
!include rules.mak
99+
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
#
2+
# Copyright (c) 2006 Advanced Micro Devices,Inc. ("AMD").
3+
#
4+
# This library is free software; you can redistribute it and/or modify
5+
# it under the terms of the GNU Lesser General Public License as
6+
# published by the Free Software Foundation; either version 2.1 of the
7+
# License, or (at your option) any later version.
8+
#
9+
# This code is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
# Lesser General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU Lesser General
15+
# Public License along with this library; if not, write to the
16+
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
17+
# Boston, MA 02111-1307 USA
18+
#
19+
20+
##############################################################################
21+
#
22+
# Common targets
23+
#
24+
##############################################################################
25+
26+
27+
28+
setenv:
29+
!if "$(VARS_SET)" != "VSA_II"
30+
@$(SETENV) PATH=.\;$(VSA2ROOT)\uti;$(PATH);
31+
@$(SETENV) Lib=.\;$(VSA2ROOT)\lib;$(VSA2ROOT)\build;$(LIB);
32+
@$(SETENV) VARS_SET=VSA_II
33+
!endif
34+
@echo INCLUDE=$(INCLUDE)
35+
36+
$(BUILD_DIR)\obj\$(TOOL_LIB):
37+
cd $(VSA2ROOT)\vsm_lib
38+
$(MAKE) /nologo all "BUILDOBJ=$(OBJECT)" "CPU=$(CPU)"
39+
cd $(MAKEDIR)
40+
41+
cleanlib:
42+
cd $(VSA2ROOT)\vsm_lib
43+
$(MAKE) /nologo cleanall
44+
cd $(MAKEDIR)
45+
46+
cleanlocal:
47+
-@IF EXIST $(OBJECT)\*.def $(DEL) $(OBJECT)\*.def
48+
-@IF EXIST $(OBJECT)\*.lnk $(DEL) $(OBJECT)\*.lnk
49+
-@IF EXIST $(OBJECT)\*.map $(DEL) $(OBJECT)\*.map
50+
-@IF EXIST $(OBJECT)\*.obj $(DEL) $(OBJECT)\*.obj
51+
-@IF EXIST $(OBJECT)\*.exe $(DEL) $(OBJECT)\*.exe
52+
-@IF EXIST $(OBJECT)\*.rom $(DEL) $(OBJECT)\*.rom
53+
-@IF EXIST $(OBJECT)\*.cpu $(DEL) $(OBJECT)\*.cpu
54+
-@IF EXIST $(OBJECT)\*.scc $(DEL) $(OBJECT)\*.scc
55+
-@IF EXIST $(OBJECT)\*.inc $(DEL) $(OBJECT)\*.inc
56+
-@IF EXIST $(OBJECT)\*.h $(DEL) $(OBJECT)\*.h
57+
-@IF EXIST $(OBJECT)\*.lst $(DEL) $(OBJECT)\*.lst
58+
-@IF EXIST $(OBJECT)\*.bak $(DEL) $(OBJECT)\*.bak
59+
-@IF EXIST $(OBJECT)\*.mac $(DEL) $(OBJECT)\*.mac
60+
-@IF EXIST $(OBJECT)\*.asm $(DEL) $(OBJECT)\*.asm
61+
-@IF EXIST $(OBJECT)\*.cod $(DEL) $(OBJECT)\*.cod
62+
-@IF EXIST $(MAKEDIR)\*.map $(DEL) $(MAKEDIR)\*.map
63+
-@IF EXIST $(MAKEDIR)\arccode.h $(DEL) $(MAKEDIR)\arccode.h
64+
65+
cleanall: clean
66+
-@IF EXIST $(MAKEDIR)\*.vsm $(DEL) $(MAKEDIR)\*.vsm
67+
-@IF EXIST $(OBJECT)\*.vsm $(DEL) $(OBJECT)\*.vsm
68+
-@IF EXIST $(OBJECT)\*.bin $(DEL) $(OBJECT)\*.bin
69+
-@IF EXIST $(OBJECT)\*.lib $(DEL) $(OBJECT)\*.lib
70+
-@IF EXIST $(OBJECT) rd $(OBJECT)
71+
72+
73+
##############################################################################
74+
#
75+
# Common inference rules
76+
#
77+
##############################################################################
78+
79+
{$(INC_DIR)}.h{$(OBJECT)}.inc:
80+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
81+
82+
{$(INC_DIR)\$(CPU)}.h{$(OBJECT)}.inc:
83+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
84+
85+
{$(SYSMGR_SRC)}.h{$(OBJECT)}.inc:
86+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
87+
88+
{$(SYSMGR_SRC)\$(CPU)}.h{$(OBJECT)}.inc:
89+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
90+
91+
{$(MAKEDIR)}.h{$(OBJECT)}.inc:
92+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
93+
94+
{$(MAKEDIR)\$(CPU)}.h{$(OBJECT)}.inc:
95+
$(H2) /Fa$(OBJECT)\$(@F) /nologo /C $<
96+
97+
{$(INC_DIR)}.h{$(OBJECT)}.h:
98+
$(COPY) $< $@
99+
100+
{$(INC_DIR)\$(CPU)}.h{$(OBJECT)}.h:
101+
$(COPY) $< $@
102+
103+
{$(SYSMGR_SRC)}.h{$(OBJECT)}.h:
104+
$(COPY) $< $@
105+
106+
{$(SYSMGR_SRC)\$(CPU)}.h{$(OBJECT)}.h:
107+
$(COPY) $< $@
108+
109+
{$(MAKEDIR)}.h{$(OBJECT)}.h:
110+
$(COPY) $< $@
111+
112+
{$(MAKEDIR)\$(CPU)}.h{$(OBJECT)}.h:
113+
$(COPY) $< $@
114+
115+
{$(MAKEDIR)}.inc{$(OBJECT)}.inc:
116+
$(COPY) $< $@
117+
118+
{$(MAKEDIR)\$(CPU)}.inc{$(OBJECT)}.inc:
119+
$(COPY) $< $@
120+
121+
{$(MAKEDIR)}.c{$(OBJECT)}.obj:
122+
$(CC) /nologo $(CC_OPTS) /Fo$@ $<
123+
124+
{$(MAKEDIR)\$(CPU)}.c{$(OBJECT)}.obj:
125+
$(CC) /nologo $(CC_OPTS) /Fo$@ $<
126+
127+
{$(MAKEDIR)}.asm{$(OBJECT)}.obj:
128+
$(AS) /nologo $(AS_OPTS) /Fo$@ $<
129+
130+
{$(MAKEDIR)\$(CPU)}.asm{$(OBJECT)}.obj:
131+
$(AS) /nologo $(AS_OPTS) /Fo$@ $<
132+
133+
{$(SYSMGR_SRC)}.mac{$(OBJECT)}.mac:
134+
$(COPY) $< $@
135+
136+
{$(SYSMGR_SRC)\$(CPU)}.mac{$(OBJECT)}.mac:
137+
$(COPY) $< $@
138+

0 commit comments

Comments
 (0)