#
331722 |
|
29-Mar-2018 |
eadler |
Revert r330897:
This was intended to be a non-functional change. It wasn't. The commit message was thus wrong. In addition it broke arm, and merged crypto related code.
Revert with prejudice.
This revert skips files touched in r316370 since that commit was since MFCed. This revert also skips files that require $FreeBSD$ property changes.
Thank you to those who helped me get out of this mess including but not limited to gonzo, kevans, rgrimes.
Requested by: gjb (re)
|
#
330904 |
|
14-Mar-2018 |
kevans |
MFC r326310: Back out OF module installation in the event of failure.
PS3 firmware gives some ancient FDT version (2) that fails the init check in OFW_FDT. It is still possible to make progress, but not while the OF layer is going crazy.
|
#
330897 |
|
14-Mar-2018 |
eadler |
Partial merge of the SPDX changes
These changes are incomplete but are making it difficult to determine what other changes can/should be merged.
No objections from: pfg
|
#
302408 |
|
07-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
299477 |
|
11-May-2016 |
gonzo |
Add OF_prop_free function as a counterpart for OF_*prop_alloc
- Introduce new OF API function OF_prop_free to free memory allocated by OF_getprop_alloc and OF_getencprop_alloc. Current code just calls free(9) with M_OFWPROP memory class which assumes knowledge about OF_*prop_alloc functions' internals and leads to unneccessary code coupling
- Convert some of the free(..., M_OFWPROP) instances to OF_prop_free
Files affected by this commit are the ones I was able to test on real hardware. The rest of free(..., M_OFWPROP) instances will be handled with idividual maintainers
Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D6315
|
#
294729 |
|
25-Jan-2016 |
zbb |
Do not destroy input buffer of the OF_getencprop() function on error
Currently when the OF_getprop() function returns with error, the caller (OF_getencprop()) still changes the buffer endiannes. This may destroy the default value passed in the input buffer if used on a Little Endian platform.
Reviewed by: mmel Submitted by: Zbigniew Bodek <zbb@semihalf.com> Obtained from: Semihalf Sponsored by: Cavium
|
#
294668 |
|
24-Jan-2016 |
andrew |
Fix the style of the reading of a nodes xref to make it readable.
|
#
280848 |
|
30-Mar-2015 |
zbb |
Fix bug in xrefinfo_find() for 64-bit platforms
uintptr_t may be 64-bit on some platforms, therefore when finding xrefinfo by pointer to device the high word is being cut off due to cast to phandle_t which is 32-bit long by definition. Due to that we loose the high word of the address to compare with xi->dev's address. To fix that, first argument of xrefinfo_find() is extended to uintptr_t and is being cast to appropriate type (phandle_t) when compared.
Submitted by: Zbigniew Bodek <zbb@semihalf.com> Reviewed by: nwhitehorn Obtained from: Semihalf
|
#
277928 |
|
30-Jan-2015 |
loos |
Do not leak the OFW memory when the result does not satisfy our alignment requirement.
While here, fix style(9) issues.
|
#
271202 |
|
06-Sep-2014 |
ian |
When registering an association between a device and an xref phandle, create an entry in the xref list if one doesn't already exist for the given handle.
On a system that uses phandle properties, the init-time scan of the tree which builds the xref list will pre-create entries for every xref handle that exists in the data. On systems where the xref and node handles are synonymous there is no phandle property in referenced nodes, and the xref list will initialize to an empty state. In the latter case, we still need to be able to associate a device_t with an xref handle, so we create list entries on the fly as needed. Since the node and xref handles are synonymous, we have all the info needed to create a list entry at device registration time.
The downside to this change is that it basically allows on the fly creation of xref handles as synonyms of node handles, and the association of a device_t with them. Whether this is a bug or a feature is in the eye of the beholder, I guess.
|
#
271199 |
|
06-Sep-2014 |
ian |
Revert rr271190, it was based on a misunderstanding. The problem of non-existant device<->xref info needs to be handled by creating the info, which will come in a subsequent commit.
|
#
271190 |
|
06-Sep-2014 |
ian |
Add OF_xref_from_node_strict() which returns -1 if there is no xref handle for the node. The default routine returns the untranslated handle, which is sometimes useful, but sometimes you really need to know there's no entry in the xref<->node<->device translation table.
|
#
270960 |
|
02-Sep-2014 |
ian |
Fix typo.
Pointy hat: ian
|
#
270958 |
|
02-Sep-2014 |
ian |
Add OF_xref_from_device() so that there's no need to have an intermediate call to ofw_bus_get_node() to lookup info that's already in the xreflist.
|
#
270953 |
|
01-Sep-2014 |
ian |
Create a mechanism for looking up a device_t associated with an ofw/fdt xref handle, and for registering that association. Also use the same data for faster translations between node and xref handles.
Now when fdt properties contain &othernode references, a driver can find the device instance that corresponds to &othernode, and thus can use interfaces provided by that instance.
Reviewed by: nwhitehorn
|
#
270945 |
|
01-Sep-2014 |
ian |
Rename OF_xref_phandle() to OF_node_from_xref() and add a new function that provides the inverse translation, OF_xref_from_node().
Discussed with: nwhitehorn
|
#
256966 |
|
23-Oct-2013 |
nwhitehorn |
Make all Open Firmware internal interfaces endian-safe by using the new OF_getencprop() API. This removes one explicit endianness conversion in ofw_iicbus.c.
|
#
256953 |
|
23-Oct-2013 |
andreast |
Fix build.
|
#
256938 |
|
22-Oct-2013 |
nwhitehorn |
A few other common cases for encode-int decoding: OF_getencprop_alloc() and OF_searchencprop(). I thought about using the element size parameter to OF_getprop_alloc() to do endian-switching automatically, but it breaks use with structs and a *lot* of FDT code (which can hopefully be moved to these new APIs).
MFC after: 2 weeks
|
#
256932 |
|
22-Oct-2013 |
nwhitehorn |
Add a new function (OF_getencprop()) that undoes the transformation applied by encode-int. Specifically, it takes a set of 32-bit cell values and changes them to host byte order. Most non-string instances of OF_getprop() should be using this function, which is a no-op on big-endian platforms.
|
#
255596 |
|
15-Sep-2013 |
nwhitehorn |
Add a kernel interface (OF_xref_phandle()) for systems where phandles used as cross-references in the device tree and phandles as used by the Open Firmware client interface are in different namespaces. This include IBM pSeries hardware as well as FDT systems. FDT certainly abuses ihandles for this purpose and should be modified to use this API eventually. This changes no behavior on systems where FreeBSD already worked.
Reviewed by: marius Approved by: re (kib) MFC after: 2 weeks
|
#
239366 |
|
18-Aug-2012 |
hrs |
- Add OF_hasprop() and ofw_bus_has_prop(). These can be used to check existence of the property.
- Fix ofw_bus_is_compatible{,_strict}() to prevent substring match in the compatible string.
Reviewed by: raj
|
#
230631 |
|
27-Jan-2012 |
marius |
Implement OF_printf() using kvprintf() directly, avoiding to use a buffer and allowing to handle newlines properly
|
#
228201 |
|
02-Dec-2011 |
jchandra |
Fix OF_finddevice error return value in case of FDT.
According to the open firmware standard, finddevice call has to return a phandle with value of -1 in case of error.
This commit is to: - Fix the FDT implementation of this interface (ofw_fdt_finddevice) to return (phandle_t)-1 in case of error, instead of 0 as it does now. - Fix up the callers of OF_finddevice() to compare the return value with -1 instead of 0 to check for errors. - Since phandle_t is unsigned, the return value of OF_finddevice should be checked with '== -1' rather than '<= 0' or '> 0', fix up these cases as well.
Reported by: nwhitehorn
Reviewed by: raj Approved by: raj, nwhitehorn
|
#
227537 |
|
15-Nov-2011 |
marius |
As it turns out, r186347 actually is insufficient to avoid the use of the curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style curthread implementation on sparc64, crashing the kernel in its early cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the things we need for that, which leads to a chicken-and-egg problem). What happens is that due to the fact that the idea of r210623 actually is to allow the compiler to cache invocations of curthread, it factors out obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to before the branch based on kobj_mutex_inited when compiling the kernel without the debugging options. So change kobj_class_compile_static(9) to just never acquire kobj_mtx, effectively restricting it to its documented use, and add a kobj_init_static(9) for initializing objects using a class compiled with the former and that also avoids using mutex(9) (and malloc(9)). Also assert in both of these functions that they are used in their intended way only. While at it, inline kobj_register_method() and kobj_unregister_method() as there wasn't much point for factoring them out in the first place and so that a reader of the code has to figure out the locking for fewer functions missing a KOBJ_ASSERT. Tested on powerpc{,64} by andreast.
Reviewed by: nwhitehorn (earlier version), jhb MFC after: 3 days
|
#
215049 |
|
09-Nov-2010 |
nwhitehorn |
Make all OF client interface calls return the maximum kind of does-not-exist error when no client interface module is installed instead of dereferencing NULL pointers. This eases implementation of platforms that may or may not have Open Firmware.
|
#
212477 |
|
11-Sep-2010 |
marius |
Change OF_interpret() to also take an array of cell_t (missed in r209801).
Reviewed by: nwhitehorn
|
#
209801 |
|
08-Jul-2010 |
nwhitehorn |
Change the argument type to OF_call_method to take an array of cell_t instead of unsigned longs to prepare for platforms where they are not the same.
|
#
208614 |
|
28-May-2010 |
raj |
Prepare and extend OFW layer for FDT support.
o Let OFW_INIT() and OF_init() return status value.
o Provide helper routines for 'compatible' property handling.
o Only compile OF and OFW code, which is relevant in FDT scenario.
o Other minor cosmetics
Reviewed by: imp Sponsored by: The FreeBSD Foundation
|
#
208172 |
|
16-May-2010 |
nwhitehorn |
Pull OF_quiesce() out of the MI Open Firmware layer and entirely into PPC ofw_machdep.c, in recognition of its state as a machine specific hack.
Requested by: marius
|
#
208152 |
|
16-May-2010 |
nwhitehorn |
On PowerMac11,2 and (presumably) PowerMac12,1, we need to quiesce the firmware in order to take over control of the SMU. Without doing this, the firmware background process doing fan control will run amok as we take over the system and crash the management chip.
This is limited to these two machines because our kernel is heavily dependent on firmware accesses, and so quiescing firmware can cause nasty problems.
|
#
194138 |
|
13-Jun-2009 |
marius |
Fix style.
|
#
190522 |
|
29-Mar-2009 |
marius |
Unbreak OF_interpret() and its standard implementation after r186347.
|
#
186728 |
|
03-Jan-2009 |
nwhitehorn |
Fix the OFW interrupt map parser to use its own idea of the number of interrupt cells in the map, instead of using a value passed to it and then panicing if it disagrees. This fixes interrupt map parsing for PCI bridges on some Apple Uninorth PCI controllers.
Reported by: marcel Tested on: G4 iBook, Sun Ultra 5
|
#
186347 |
|
19-Dec-2008 |
nwhitehorn |
Modularize the Open Firmware client interface to allow run-time switching of OFW access semantics, in order to allow future support for real-mode OF access and flattened device frees. OF client interface modules are implemented using KOBJ, in a similar way to the PPC PMAP modules.
Because we need Open Firmware to be available before mutexes can be used on sparc64, changes are also included to allow KOBJ to be used very early in the boot process by only using the mutex once we know it has been initialized.
Reviewed by: marius, grehan
|
#
171265 |
|
05-Jul-2007 |
peter |
Fix warnings. nxge: cast page size fragments down to (int). If the vm's demand paging PAGE_SIZE is ever too big for that, we've got far bigger problems. ofw: move va_start() a little earlier. gcc-4.2 doesn't like us modifying the last arg before the va_start().
Approved by: re (rwatson)
|
#
170842 |
|
16-Jun-2007 |
marius |
In OF_init() check the return value of OF_getprop().
Found with: Coverity Prevent(tm) CID: 679
|
#
170841 |
|
16-Jun-2007 |
marius |
- Restore the machine independency of sys/dev/ofw/openfirm.{c,h} by moving OF_set_mmfsa_traptable() (SUNW,set-trap-table with the two arguments used here is specific to sun4v) to MD code. - In sys/dev/ofw/openfirm.h remove prototypes for unimplemented functions and unused Solaris compatibility macros.
|
#
170838 |
|
16-Jun-2007 |
marius |
Sync the styles of sys/boot/ofw/libofw/openfirm.c and sys/dev/ofw/openfirm.c with themselves, with each-other and with style(9).
|
#
163221 |
|
11-Oct-2006 |
kmacy |
Using the ptr defines broke the powerpc build - convert set_mmfsa to the same convention as the rest of openfirm.c
|
#
163146 |
|
09-Oct-2006 |
kmacy |
kernel clean up to make the sun4v kernel build
Reviewed by: jmg Approved by: rwatson (mentor)
|
#
152682 |
|
22-Nov-2005 |
marius |
Remove unused function and variables.
|
#
139749 |
|
05-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
#
133862 |
|
16-Aug-2004 |
marius |
Instead of "OpenFirmware", "openfirmware", etc. use the official spelling "Open Firmware" from IEEE 1275 and OpenFirmware.org (no pun intended).
Ok'ed by: tmm
|
#
129588 |
|
22-May-2004 |
marius |
- Rearrange a comment to fit in 80 chars per line, like the rest of this file. - Remove a superfluous ';'.
|
#
119418 |
|
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
115973 |
|
07-Jun-2003 |
jake |
Implement OF_interpret.
Obtained from: netbsd
|
#
111119 |
|
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
#
109623 |
|
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
#
86557 |
|
18-Nov-2001 |
tmm |
1. Add ofw_pci.h with definitions for the OpenFirmware PCI bindings 2. Add OF_getprop_alloc(), a helper function that will malloc() a sufficient amount of memory and then retrieve a property value into it.
Approved by: benno Obtained from: NetBSD (1)
|
#
80697 |
|
31-Jul-2001 |
jake |
Make the openfirmware functions work on 64 bit architectures by using a standard cell_t type for the fields of all argument structs. Also make ihandle_t and phandle_t unsigned to avoid sign extension problems.
Approved by: benno
|
#
78876 |
|
27-Jun-2001 |
benno |
Garbage collect some debug code.
|
#
78346 |
|
16-Jun-2001 |
benno |
OpenFirmware kernel support, as used by the PowerPC and hopefully other ports later on.
This includes the basic MI interface routines as well as a console driver. The MD code is kept in the MD directories.
Reviewed by: obrien
|
#
78311 |
|
15-Jun-2001 |
obrien |
These were repo copied from their sys/boot/ofw/libofw counter parts.
|
#
68548 |
|
10-Nov-2000 |
benno |
OpenFirmware/PowerPC loader, part 2.
As of this patchset, the loader builds (under NetBSD/macppc), boots, interacts and talks to BOOTP/NFS servers.
(main.c was moved from boot/ofw/libofw to boot/ofw/common but has no revision history)
Reviewed by: obrien
|
#
67204 |
|
16-Oct-2000 |
obrien |
"Ok, my loader's now up to putting up a prompt. It probes disks partially but can't boot from them yet."
Thanks to Stephane Potvin for the some of the code in this set.
Submitted by: Benno Rice <benno@jeamland.net>
|