Home | History | Annotate | Download | only in conf
History log of /src/sys/arch/sparc64/conf/Makefile.sparc64
RevisionDateAuthorComments
 1.85  22-Sep-2018  rin - Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos
 1.84  10-Dec-2017  christos branches: 1.84.2; 1.84.4;
- Allow multiple .BEGIN targets
- Make their protection consistent
 1.83  04-Dec-2017  martin We use .BEGIN for our own cleanup and won't ever need DTS support - so
avoid inclusion of dts.mk by defining _SKIP_DTS
 1.82  19-Mar-2016  martin Default kernel builds to USE_SSP=yes.
 1.81  27-Feb-2016  joerg Ignore unused arguments for clang as we pass assembler flags and the
like to the preprocessor-only mode. Conditionalize GCC flags that are
not known to clang accordingly.
 1.80  31-Aug-2015  martin Revert previous, not needed after sys/conf/Makefile.kern.inc rev. 1.215.
 1.79  30-Aug-2015  martin We preprocess .s files, so add ${INCLUDES} to AFLAGS
 1.78  24-Aug-2015  uebayasi Define ${LINKSCRIPT} in one place.
 1.77  18-Aug-2015  uebayasi Adjust paths to ${KERNLDSCRIPT} files so that dependency is resolved.
 1.76  18-Aug-2015  uebayasi Use ${KERNLDSCRIPT} instead of ${KERN_LDSCRIPT}. The former is added
to ${SYSTEM_DEP} if defined.
 1.75  15-Nov-2014  uebayasi branches: 1.75.2;
Use LINKSCRIPT.
 1.74  21-Feb-2014  joerg Use code model small for LLVM, it should be equivalent to GCC's medlow.
 1.73  19-Mar-2013  christos branches: 1.73.6;
Need assym.h for libkern
 1.72  10-Mar-2013  christos Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.
 1.71  03-Mar-2012  nakayama branches: 1.71.2;
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.70  17-Jan-2011  joerg branches: 1.70.6; 1.70.10; 1.70.12;
Move SPARC and SPARC64 to modern CPP. Update UPDATING note for this and
Alpha.
 1.69  23-May-2010  martin branches: 1.69.2;
Split copy related functions out of locore.s into copy.S, move functions
only needed on multiprocessors into mp_subr.S.
 1.68  11-Dec-2008  alc branches: 1.68.4; 1.68.6;
Clean-up makefile stub used to include in the build the binary HAL object
 1.67  30-Aug-2008  martin branches: 1.67.2; 1.67.4; 1.67.8; 1.67.10;
We are not creating a.out NMAGIC files, and handling the required alignement
of sections explicitly in the ldscript, so do not pass -n to ld.
This fixes the strange combined text/data sections seen with certain
(smaller) kernels as explained on tech-toolchain.
Found by Nick Hudson, ok: matthew green.
 1.66  18-Feb-2008  joerg branches: 1.66.6; 1.66.10; 1.66.12; 1.66.16;
Add assym.h dependencies.
 1.65  25-Jan-2008  joerg Refactor in_cksum/in4_cksum/in6_cksum implementations:
- All three functions are included in the kernel by default.
They call a backend function cpu_in_cksum after possibly
computing the checksum of the pseudo header.
- cpu_in_cksum is the core to implement the one-complement sum.
The default implementation is moderate fast on most platforms
and provides a 32bit accumulator with 16bit addends for L32 platforms
and a 64bit accumulator with 32bit addends for L64 platforms.
It handles edge cases like very large mbuf chains (could happen with
native IPv6 in the future) and provides a good base for new native
implementations.
- Modify i386 and amd64 assembly to use the new interface.

This disables the MD implementations on !x86 until the conversion is
done. For Alpha, the portable version is faster.
 1.64  17-Oct-2007  garbled branches: 1.64.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.63  04-Jun-2007  chs branches: 1.63.10;
instead of specifying the start of the data section in the makefile,
just round it up to the next 4MB boundary in the ldscript.
this prevents parts of the kernel-image range from being left unmapped.
fixes PR 36388.
 1.62  04-Apr-2006  gdamore branches: 1.62.12; 1.62.18; 1.62.20; 1.62.26; 1.62.28;
Convert existing ath users to new Makefile, except for amd64, which needs
the rules due to needing to conditionally postprocess the HAL object file.

Macppc needs a a non-ELF HAL (EABI) object, so take care of that by default
in the atheros include file.
 1.61  02-Apr-2006  gdamore Reorganize ath layout as requested by sam@ and suggested by dyoung@ in
http://mail-index.netbsd.org/tech-net/2006/03/15/0000.html.

The new layout almost precisely matches FreeBSD, and should make
future imports much easier.

At the same time, import the current 0.9.16.16 HAL from FreeBSD. According
to sam@, this is the proper version we should be using.
 1.60  08-Mar-2006  dyoung branches: 1.60.2;
config(8) creates opt_ah.h, no need to do so here.
 1.59  03-Mar-2006  he branches: 1.59.2; 1.59.4;
Before symlinking opt_ah.h, make sure the target doesn't already exist.
This fixes a build problem with UPDATE set.
 1.58  02-Mar-2006  martin Add glue to make ath* usable on sparc64.
 1.57  11-Dec-2005  christos branches: 1.57.4; 1.57.6;
merge ktrace-lwp.
 1.56  31-May-2005  christos branches: 1.56.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.
 1.55  04-Jun-2004  thorpej Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.
 1.54  22-Mar-2004  martin branches: 1.54.4;
Realy disable optimization for 32bit kernels when compiling uvm_bio.c.
 1.53  21-Mar-2004  martin Disable optimization when compiling uvm_bio.c with a 32 bit compiler.
 1.52  09-Nov-2003  martin Fix a comment (there is no bzero/bcopy any more)
 1.51  27-Oct-2003  christos fix make -jn by adding explicit dependency of in_cksum.o to assym.h
 1.50  19-Sep-2003  martin Remove workarounds for bugs in the old compiler.
 1.49  26-Nov-2002  thorpej branches: 1.49.6;
The traditional C preprocessor is fixed in GCC 3.3 now, so no need
to skip -traditional-cpp for HAVE_GCC3.
 1.48  06-Sep-2002  jdolecek put an explicit .MAIN target before the .if make() condition; apparently
.MAIN must be defined for the implicit target rule to kick in
this fixes compilation with call like 'make', i.e. without specified target

another option would be to move the .if make() condition after config(8)
generated goo, since config(8) implicitly generates a .MAIN: directive too,
but the MD .if make() really belongs into (7) misc settings section IMHO
 1.47  20-Jul-2002  mrg create a "sparc" symlink as well. sync kernels.
 1.46  04-Jun-2002  thorpej Don't use -traditional-cpp if HAVE_GCC3.
 1.45  19-Mar-2002  eeh branches: 1.45.4;
Fix up compiler options:

1) Get things right for 32-bit kernels

2) Always use medium any memory model for 64-bit kernels for the moment.
 1.44  09-Dec-2001  atatat Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
 1.43  20-Nov-2001  lukem cleanup:
options SPACE TAB
makeoptions TAB
psuedo-device TAB
remove trailing whitespace
replace multiple spaces -> tabs
options "FOO" -> options FOO
options "FOO=bar" -> options FOO=bar
options "FOO=\"bar\"" -> options FOO="\"bar\""
 1.42  26-Oct-2001  jmc branches: 1.42.2;
Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
 1.41  24-Oct-2001  thorpej Per request of mrg@netbsd.org, use MACHINE_ARCH of "sparc" for 32-bit
sparc64 kernels, thus defaulting to using the 32-bit "sparc" target
toolchain.
 1.40  24-Oct-2001  thorpej Clean up the 32-bit vs. 64-bit kernel configuration stuff:
- Put all options necessary to build a 64-bit kernel into std.sparc64-64,
which can be included after std.sparc64.
- Change the logic used to enable 64-bit kernels. The kernel Makefile now
uses an LP64 make variable, and explicitly sets compiler flags and linker
scripts to generate 32-bit or 64-bit kernels.
 1.39  21-Oct-2001  thorpej branches: 1.39.2;
Normalize the sparc64 kernel Makefile.
 1.38  19-Jul-2001  eeh Make a bigger hole between kernel text and data.
 1.37  29-May-2001  mrg branches: 1.37.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
 1.36  19-Apr-2001  mrg -Dsparc64
 1.35  04-Mar-2001  mrg branches: 1.35.2;
deal with 32 bit kernels.
 1.34  28-Feb-2001  mrg add and user a linker script.
 1.33  17-Dec-2000  jdolecek delete obsolete comment
 1.32  04-Dec-2000  fvdl Warning police. Mostly useless format warnings. Switch Makefile for
kernel compiles to the warning flags that other ports also use.
 1.31  28-Sep-2000  eeh Separate user and kernel address spaces and move the kernel down to
0x0000000001000000 -- 0x00000000f0000000, below the PROM where the
PROM thinks we should be.
 1.30  02-Aug-2000  eeh Get kernel profiling to work. Now if only gprof worked....
 1.29  24-Jul-2000  mycroft Er, eliminate the -p link option as well, which just outputs huge amounts
of spooge.
 1.28  24-Jul-2000  mycroft Nuke lderr.
 1.27  24-Jul-2000  mycroft Slight rearrangement.
 1.26  19-Jun-2000  eeh branches: 1.26.2;
Have separate data and text segments, make text read-only.
 1.25  09-Jun-2000  eeh Separate COPTS from CFLAGS to fix problems w/unoptimized files, and add
lfs_loop.c to the list that breaks optimization.
 1.24  08-Jun-2000  eeh Override optimization for files that break gcc.
 1.23  09-May-2000  hubertf branches: 1.23.2;
Add "install" target, so "make install" after building the kernel
does something useful. The target can be redefined by putting a
install-kernel-${MACHINE_NAME} target that fits your needs into
/etc/mk.conf.
 1.22  13-Apr-2000  eeh Make /etc/mk.conf optional for kernel builds.
 1.21  13-Apr-2000  mrg copy the "sparc" clean/cleandir target code, so that "cleandir" actually does a "clean"
 1.20  08-Apr-2000  mrg don't use -Wuninitialized
 1.19  31-Jan-2000  eeh Fix a couple more references to STRIPPROG.
 1.18  26-Jan-2000  eeh Use STRIP instead of STRIPPROG since install uses STRIP and I don't want to
define two different variables.
 1.17  24-Jan-2000  tron Add "dependall" target for comfort.
 1.16  19-Jan-2000  tsutsui STRIP -> STRIPPROG
 1.15  19-Jan-2000  tsutsui Change STRIPFLAGS=-g for cross-toolchains.
 1.14  30-Dec-1999  eeh Switch libkern back to a library 'cause bzero's back in locore.s.
 1.13  21-Nov-1999  eeh Move KERNBASE down from 0xf8000000 to 0xf1000000, just beyond the PROM.
 1.12  26-Jul-1999  cgd branches: 1.12.2; 1.12.8;
be more efficient when doing the SYSTEM_LD_TAIL for -g kernels: don't
copy them just to strip them, use strip -o.
 1.11  18-Jul-1999  eeh Switch over to NetBSD/sparc ELF for 32-bit userland.
 1.10  09-Jul-1999  mrg clean up a bit after jason :)

- fix emitrules() like emitfiles() to deal with the prefix (otherwise it
would attempt to find the file in the normal base for the NORMAL_C rule).
- add emitincludes() which adds include directives for each prefix to the
$INCLUDES variable in the makefile.
- add %INCLUDES to each Makefile.arch to deal with the above.

this makes "prefix" actually work in a usable manner, and now i can move
on to fixing compiler warnings (errors) in the ESP code. :)
 1.9  05-Jun-1999  mrg only set LD to /usr/ccs/bin/ld if it exists. avoid empty SFILES.
 1.8  15-Mar-1999  mrg branches: 1.8.4;
remove lderr in "make clean"
 1.7  08-Jan-1999  augustss Add -Wpointer-arith warning since `void *' arithmetic is not ANSI C.
 1.6  15-Oct-1998  drochner change handling of libkern:
-sys/lib/libkern builds as library per default (as it was documented all
the time)
-ports able to LKM set "KERN_AS=obj" explicitely in their Makefiles
(for now; should depend on actual "option LKM" or -better- functions
included for LKM use should be pulled in by a stub)
-always link libcompat before libkern - libkern stuff can be referred to
by libcompat, but not the other way
 1.5  02-Sep-1998  eeh Periodic update: now starts probing devices.
 1.4  26-Aug-1998  mrg - use UVM by default.
- clean up the Makefile a bit to be less solaris-centric :)
- add support for compat_sparc32 (32bit compat module for NetBSD/sparc). this
isn't yet fully tested but it mostly written and compiles if not totally
links yet.
 1.3  13-Aug-1998  eeh Merge paddr_t changes into the main branch.
 1.2  30-Jul-1998  mrg allow ${SIZE} to be set from the environment, also allow using genassym.sh (both for cross compiling).
 1.1  20-Jun-1998  eeh branches: 1.1.1;
Initial revision
 1.1.1.1  20-Jun-1998  eeh branches: 1.1.1.1.2;
Import of sparc64.
 1.1.1.1.2.2  02-Aug-1998  eeh Cleanup work:

Sync up with sys/dev/sbus
get cgsix to work right
 1.1.1.1.2.1  30-Jul-1998  eeh Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.
 1.8.4.2  02-Aug-1999  thorpej Update from trunk.
 1.8.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.12.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.12.2.5  21-Apr-2001  bouyer Sync with HEAD
 1.12.2.4  12-Mar-2001  bouyer Sync with HEAD.
 1.12.2.3  05-Jan-2001  bouyer Sync with HEAD
 1.12.2.2  08-Dec-2000  bouyer Sync with HEAD.
 1.12.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.23.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.26.2.3  18-Oct-2000  tv Pullup by patch [eeh]:
Move KERNBASE from 0xf1000000 to 0x01000000.
 1.26.2.2  07-Aug-2000  mrg pull up 1.30 (approved by thorpej):
>Get kernel profiling to work. Now if only gprof worked....
 1.26.2.1  27-Jul-2000  mycroft Approved by thorpej:
A bit of cleanup.

syssrc/sys/arch/sparc64/conf/Makefile.sparc64 1.26 -> 1.29
 1.35.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.37.2.4  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.37.2.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.37.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.37.2.1  03-Aug-2001  lukem update to -current
 1.39.2.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.42.2.7  11-Dec-2002  thorpej Sync with HEAD.
 1.42.2.6  17-Sep-2002  nathanw Catch up to -current.
 1.42.2.5  01-Aug-2002  nathanw Catch up to -current.
 1.42.2.4  20-Jun-2002  nathanw Catch up to -current.
 1.42.2.3  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.42.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.42.2.1  26-Oct-2001  nathanw file Makefile.sparc64 was added on branch nathanw_sa on 2002-01-08 00:27:57 +0000
 1.45.4.2  31-Aug-2002  gehenna catch up with -current.
 1.45.4.1  15-Jul-2002  gehenna catch up with -current.
 1.49.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.49.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.49.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.49.6.1  03-Aug-2004  skrll Sync with HEAD
 1.54.4.1  06-Feb-2005  jmc Pull up patch (requested by martti in ticket #1086)
Move ipf to sys/dist/ipf and sync w. trunk
 1.56.2.4  27-Feb-2008  yamt sync with head.
 1.56.2.3  04-Feb-2008  yamt sync with head.
 1.56.2.2  03-Sep-2007  yamt sync with head.
 1.56.2.1  21-Jun-2006  yamt sync with head.
 1.57.6.1  22-Apr-2006  simonb Sync with head.
 1.57.4.1  09-Sep-2006  rpaulo sync with head
 1.59.4.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.59.2.2  11-Apr-2006  yamt sync with head
 1.59.2.1  13-Mar-2006  yamt sync with head.
 1.60.2.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.62.28.1  03-Sep-2007  wrstuden Sync w/ NetBSD-4-RC_1
 1.62.26.1  26-Jun-2007  garbled Sync with HEAD.
 1.62.20.1  11-Jul-2007  mjf Sync with head.
 1.62.18.1  09-Jun-2007  ad Sync with head.
 1.62.12.2  17-Mar-2012  bouyer Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.62.12.1  05-Jun-2007  bouyer branches: 1.62.12.1.4;
Pull up following revision(s) (requested by martin in ticket #700):
sys/arch/sparc64/conf/kern32.ldscript: revision 1.8
sys/arch/sparc64/conf/kern.ldscript: revision 1.9
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.63
instead of specifying the start of the data section in the makefile,
just round it up to the next 4MB boundary in the ldscript.
this prevents parts of the kernel-image range from being left unmapped.
fixes PR 36388.
 1.62.12.1.4.1  17-Mar-2012  bouyer Pull up following revision(s) via patch (requested by nakayama in ticket #1443):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.63.10.2  23-Mar-2008  matt sync with HEAD
 1.63.10.1  06-Nov-2007  matt sync with HEAD
 1.64.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.66.16.2  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.66.16.1  19-Oct-2008  haad Sync with HEAD.
 1.66.12.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.66.10.2  11-Aug-2010  yamt sync with head.
 1.66.10.1  04-May-2009  yamt sync with head.
 1.66.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.66.6.1  28-Sep-2008  mjf Sync with HEAD.
 1.67.10.1  21-Apr-2010  matt sync to netbsd-5
 1.67.8.1  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.67.4.2  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.67.4.1  07-Aug-2009  snj branches: 1.67.4.1.2;
Pull up following revision(s) (requested by sborrill in ticket #905):
sys/arch/alpha/conf/Makefile.alpha: revision 1.81
sys/arch/amd64/conf/Makefile.amd64: revision 1.26
sys/arch/i386/conf/Makefile.i386: revision 1.162
sys/arch/macppc/conf/Makefile.macppc: revision 1.31
sys/arch/mips/conf/Makefile.mips: revision 1.52
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.68
sys/arch/xen/conf/Makefile.xen: revision 1.28
Clean-up makefile stub used to include in the build the binary HAL object
 1.67.4.1.2.1  17-Mar-2012  bouyer Pull up following revision(s) (requested by nakayama in ticket #1736):
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/files.sparc64: revision 1.138
sys/arch/sparc64/sparc64/locore.s: revision 1.340
Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
gcc converts a division in the calculation of UBC_UMAP_ADDR macro
to multiplication (smul or combination of add/sll), and the
register of its result contains a garbage in upper 32 bits (the
upper 32 bits of smul/add/sll's result isn't zero cleared).
Then it passes to pseg_get{,_real} through pmap_extract without the
zero clear of upper 32 bits in the optimization case. So the
result of pseg_get and pmap_extact sometimes gets screwed up.
The hack has been resolved in the revision 1.340 of
sys/arch/sparc64/sparc64/locore.s.
 1.67.2.1  19-Jan-2009  skrll Sync with HEAD.
 1.68.6.2  05-Mar-2011  rmind sync with head
 1.68.6.1  30-May-2010  rmind sync with head
 1.68.4.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.69.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.70.12.1  05-Mar-2012  sborrill Pull up the following revisions(s) (requested by nakayama in ticket #85):
sys/arch/sparc64/sparc64/locore.s: revision 1.340
doc/HACKS: revision 1.123
sys/arch/sparc64/conf/Makefile.sparc64: revision 1.71
sys/arch/sparc64/conf/files.sparc64: revision 1.138

Fix the root cause of the hack "disable optimizations for uvm_bio.c
on 32 bit kernels".
 1.70.10.3  06-Mar-2012  mrg sync to -current
 1.70.10.2  06-Mar-2012  mrg sync to -current
 1.70.10.1  04-Mar-2012  mrg sync to latest -current.
 1.70.6.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.70.6.1  17-Apr-2012  yamt sync with head
 1.71.2.3  03-Dec-2017  jdolecek update from HEAD
 1.71.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.71.2.1  23-Jun-2013  tls resync from head
 1.73.6.1  18-May-2014  rmind sync with head
 1.75.2.3  22-Apr-2016  skrll Sync with HEAD
 1.75.2.2  19-Mar-2016  skrll Sync with HEAD
 1.75.2.1  22-Sep-2015  skrll Sync with HEAD
 1.84.4.1  10-Jun-2019  christos Sync with HEAD
 1.84.2.1  30-Sep-2018  pgoyette Ssync with HEAD

RSS XML Feed