#
48d180cd |
| 13-Feb-2021 |
thorpej <thorpej@NetBSD.org> |
- Don't change to the OFW stack in C code; instead, switch to the OFW stack in the openfirmware() wrapper itself. Inspired by a similar change in OpenBSD designed to appease clang. - The OF_*()
- Don't change to the OFW stack in C code; instead, switch to the OFW stack in the openfirmware() wrapper itself. Inspired by a similar change in OpenBSD designed to appease clang. - The OF_*() entry firmware interfaces use several global resources; protect those global resources with a __cpu_simple_lock_t. - Make ofbcopy() static -- it's no longer referenced outside openfirm.c
show more ...
|
#
f0fc6be2 |
| 05-Feb-2021 |
thorpej <thorpej@NetBSD.org> |
s/bootspec/bstr/g to avoid shadowing a global.
|
#
45cb1d76 |
| 06-Jul-2020 |
rin <rin@NetBSD.org> |
Style and cosmetic changes. No binary changes intended.
|
#
29be7da9 |
| 06-Dec-2019 |
mrg <mrg@NetBSD.org> |
revert this change from early this year. it appears the changes macallan@ commited to fix FIRMWORKSBUGS issues in openfirmware() have fixed the hangs seen on PegasosII.
hooray!
--- Log Message: wo
revert this change from early this year. it appears the changes macallan@ commited to fix FIRMWORKSBUGS issues in openfirmware() have fixed the hangs seen on PegasosII.
hooray!
--- Log Message: workaround a problem with the pegasos firmware interface: attempting to use /dev/openfirm on this machine hangs hard.
this isn't a new problem, and i've been meaning to try to figure it out for years, but it's become a problem since the xf86-video-radeon driver gained code to look for the macppc model using this interface.
this is why xorg-server 1.18 and 1.20 hang recently on the pegasosII.
this change is fairly ugly but i couldn't think of a less ugly method to avoid /dev/openfirm working just on this one platform. introduce new __OPENFIRMIO_OPEN_CHECK_BROKEN macro and associated __openfirmio_open_check_broken(), and use them in the new openfirmopen() to fail opens.
include proplib.h in macppc and ofppc autoconf.h since they use it. ---
show more ...
|
#
0d669ded |
| 16-Nov-2019 |
macallan <macallan@NetBSD.org> |
fix pasto - don't limit OF_finddevice() to 32 characters now this works again
|
#
c60df9ff |
| 15-Nov-2019 |
macallan <macallan@NetBSD.org> |
stuff name parameters into OF_buf before calling OF now things like ofctl work on my TiBook with FIRMWORKSBUGS
|
#
4fb01f0d |
| 08-Jan-2019 |
mrg <mrg@NetBSD.org> |
workaround a problem with the pegasos firmware interface: attempting to use /dev/openfirm on this machine hangs hard.
this isn't a new problem, and i've been meaning to try to figure it out for year
workaround a problem with the pegasos firmware interface: attempting to use /dev/openfirm on this machine hangs hard.
this isn't a new problem, and i've been meaning to try to figure it out for years, but it's become a problem since the xf86-video-radeon driver gained code to look for the macppc model using this interface.
this is why xorg-server 1.18 and 1.20 hang recently on the pegasosII.
this change is fairly ugly but i couldn't think of a less ugly method to avoid /dev/openfirm working just on this one platform. introduce new __OPENFIRMIO_OPEN_CHECK_BROKEN macro and associated __openfirmio_open_check_broken(), and use them in the new openfirmopen() to fail opens.
include proplib.h in macppc and ofppc autoconf.h since they use it.
show more ...
|
#
a8a5c538 |
| 03-Sep-2018 |
riastradh <riastradh@NetBSD.org> |
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a n
Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
show more ...
|
#
d2069f7a |
| 07-Aug-2014 |
joerg <joerg@NetBSD.org> |
Panic after openfirm, it is not supposed to return.
|
#
654c32f1 |
| 28-Feb-2014 |
matt <matt@NetBSD.org> |
Use uintptr_t to convert pointers.
|
#
936088d2 |
| 17-Jan-2014 |
mrg <mrg@NetBSD.org> |
convert a failure to call OF for a reboot call into a panic() instead of a hard hang.
|
#
ef72e29e |
| 12-May-2013 |
macallan <macallan@NetBSD.org> |
add OF_quiesce() to shut down OF background tasks, needed on G5 from Phileas Fogg
|
#
9f2c6cd5 |
| 17-Jul-2011 |
joerg <joerg@NetBSD.org> |
Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce a
Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
show more ...
|
#
97922837 |
| 08-Apr-2008 |
garbled <garbled@NetBSD.org> |
SMP support for ofppc. (finally) Much thanks to Matt Thomas for help in figuring out all the crazy nuances of getting this working, and to Michael Lorenz for testing/fixing my changes on macppc. T
SMP support for ofppc. (finally) Much thanks to Matt Thomas for help in figuring out all the crazy nuances of getting this working, and to Michael Lorenz for testing/fixing my changes on macppc. Tested with a quad-proc 7044-270. Summary of changes:
Bumped CPU_MAXNUM to 16 on ofppc. Added md_* routines to ofppc/cpu.c, to sync the timebase, and awaken the CPUs. Fixed a bug in the test for a 64bit bridge cpu early in locore.S Added code to set the interrupt priority for all CPUs with an openpic. Change rtas to probe before cpus, to allow use of the rtas freeze/thaw timebase code routines. Fix CPU_INFO_FOREACH macro to iterate through detected cpus, not CPU_MAXNUM. Change most uses of ci_cpuid to ci_index, to deal with CPUs that do not allow writing to SPR_PIR. Don't write SPR_PIR unless the secondary cpu identifies itself as 0. Change the hatchstack/interrupt stack allocations to allocate a 8192byte interrupt stack, and a 4096 byte hatch stack, align them to 16 bytes, and allocate them no lower than 0x10000. Allocate them separately to prevent the hatch stack corrupting the interrupt stack later on. If the CPU is a 64bit cpu, copy SPR_ASR in cpu_hatch() Set the idle stack to ci->ci_data.cpu_idlelwp->l_addr->u_pcb.pcb_sp. Add OF_start_cpu(). Add a routine to ofwoea_initppc to spin up secondary procs early, and place them into a spinloop waiting for the hatch routines to be ready. Modify the ipi routines to deal with openpics that reverse byte order on read from an ipi register. (such as on the 7044) Change the rtas setup to allocate the rtas physical base address above the kernel, to avoid mucking up the hatch/interrupt stacks.
show more ...
|
#
1fb588bc |
| 07-Nov-2007 |
garbled <garbled@NetBSD.org> |
Convert ofppc to the shared ofw_autoconf.c
|
#
12dd6f9c |
| 28-Feb-2007 |
macallan <macallan@NetBSD.org> |
add OF_setprop()
|
#
3039e0bc |
| 22-Jan-2006 |
ross <ross@NetBSD.org> |
Work around a PIBS bug: OF_write() doesn't get a returned count.
|
#
95e1ffb1 |
| 11-Dec-2005 |
christos <christos@NetBSD.org> |
merge ktrace-lwp.
|
#
22642767 |
| 02-Jun-2005 |
matt <matt@NetBSD.org> |
constify and adapt for newly enabled warnings.
|
#
a8a3bf5b |
| 27-Sep-2003 |
matt <matt@NetBSD.org> |
ANSIfy.
|
#
ed517291 |
| 15-Jul-2003 |
lukem <lukem@NetBSD.org> |
__KERNEL_RCSID()
|
#
86f35f80 |
| 02-Apr-2003 |
thorpej <thorpej@NetBSD.org> |
Use PAGE_SIZE rather than NBPG.
|
#
4c999163 |
| 24-Sep-2001 |
wiz <wiz@NetBSD.org> |
va_{start,end} audit: Make sure that each va_start has one and only one matching va_end, especially in error cases. If the va_list is used multiple times, do multiple va_starts/va_ends. If a function
va_{start,end} audit: Make sure that each va_start has one and only one matching va_end, especially in error cases. If the va_list is used multiple times, do multiple va_starts/va_ends. If a function gets va_list as argument, don't let it use va_end (since it's the callers responsibility).
Improved by comments from enami and christos -- thanks!
Heimdal/krb4/KAME changes already fed back, rest to follow.
Inspired by, but not not based on, OpenBSD.
show more ...
|
#
d4bcd9c7 |
| 19-Jun-2001 |
simonb <simonb@NetBSD.org> |
Add/change prototypes so that macpcc builds with -Wstrict-prototypes.
|
#
18b2f7e6 |
| 13-Jun-2001 |
simonb <simonb@NetBSD.org> |
Add a port to IBM's PPC405GP Reference Board (the "walnut") by Eduardo Horvath and Simon Burge of Wasabi Systems.
IBM 4xx series CPU features: - New pmap and revised trap handler. - Support on-chi
Add a port to IBM's PPC405GP Reference Board (the "walnut") by Eduardo Horvath and Simon Burge of Wasabi Systems.
IBM 4xx series CPU features: - New pmap and revised trap handler. - Support on-chip timers, PCI controller, UARTs - Framework for on-chip ethernet and watchdog timer. General PowerPC features: - Add in-kernel PPC floating point emulation - New in{,4}_cksum that is between 1.5 and 5 times faster than the old version depending on CPU type. General changes: - Kernel support for generic dbsym-style symbols.
show more ...
|