| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
will crash.
Submitted by: Margarida Gouveia
|
|
|
|
|
|
|
| |
OF node, instead of a random mixture of 0 and -1. Update all checks for 0
to check for -1 instead.
MFC after: 4 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tag enforces a single restriction that all DMA transactions must not
cross a 4GB boundary. Note that while this restriction technically only
applies to PCI-express, this change applies it to all PCI devices as it
is simpler to implement that way and errs on the side of caution.
- Add a softc structure for PCI bus devices to hold the bus_dma tag and
a new pci_attach_common() routine that performs actions common to the
attach phase of all PCI bus drivers. Right now this only consists of
a bootverbose printf and the allocate of a bus_dma tag if necessary.
- Adjust all PCI bus drivers to allocate a PCI bus softc and to call
pci_attach_common() from their attach routines.
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
Return an error if a driver attempts this, and, if INVARIANTS is on,
panic.
Reviewed by: jhb
|
|
|
|
|
|
|
| |
methods.
Obtained from: sparc64
MFC after: 1 week
|
| |
|
|
|
|
|
| |
this change, NEW_PCIB appears to work without incident at least on a G5
iMac. More testing will be required before it is turned on in GENERIC.
|
|
|
|
|
|
|
| |
tree based on heuristics to parsing it based on the spec. This should also
lay the foundation for NEW_PCIB on PowerPC.
MFC after: 3 months
|
|
|
|
| |
MFC after: 2 weeks
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
profiling and kernel profiling. To enable kernel profiling one has to build
kgmon(8). I will enable the build once I managed to build and test powerpc
(32-bit) kernels with profiling support.
- add a powerpc64 PROF_PROLOGUE for _mcount.
- add macros to avoid adding the PROF_PROLOGUE in certain assembly entries.
- apply these macros where needed.
- add size information to the MCOUNT function.
MFC after: 3 weeks, together with r230291
|
|
|
|
|
|
|
| |
that do not comply with the OF spec.
Submitted by: Anders Gavare
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
one. Interestingly, these are actually the default for quite some time
(bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9)
since r52045) but even recently added device drivers do this unnecessarily.
Discussed with: jhb, marcel
- While at it, use DEVMETHOD_END.
Discussed with: jhb
- Also while at it, use __FBSDID.
|
|
|
|
|
|
| |
The SYSCTL_NODE macro defines a list that stores all child-elements of
that node. If there's no SYSCTL_DECL macro anywhere else, there's no
reason why it shouldn't be static.
|
|
|
|
| |
This means that their use is restricted to a single C file.
|
|
|
|
|
|
|
| |
machine checks (e.g. invalid PCI configuration cycles), but these can
be caught and recovered from. This change also the RTAS PCI driver to
work without modification as a replacement for the Grackle driver on
Grackle-based Powermacs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of a PCPU field for curthread. This averts a race on SMP systems
with a high interrupt rate where the thread looking up the value of
curthread could be preempted and migrated between obtaining the PCPU
pointer and reading the value of pc_curthread, resulting in curthread being
observed to be the current thread on the thread's original CPU. This played
merry havoc with the system, in particular with mutexes. Many thanks to
jhb for helping me work this one out.
Note that Book-E is in principle susceptible to the same problem, but has
not been modified yet due to lack of Book-E hardware.
MFC after: 2 weeks
|
|
|
|
|
| |
after some minor tweaks and an increase in the early-boot stack space in
r222632.
|
|
|
|
|
| |
map. They cause non-understood boot failures on some Apple machines with
more than 2 GB of RAM (like my work desktop).
|
|
|
|
|
|
|
|
|
|
| |
Renovate and improve the AIM Open Firmware support:
- Add RTAS (Run-Time Abstraction Services) support, found on all IBM systems
and some Apple ones
- Improve support for 32-bit real mode Open Firmware systems
- Pull some more OF bits over from the AIM directory
- Fix memory detection on IBM LPARs and systems with more than one /memory
node (by andreast@)
|
| |
|
|
|
|
|
| |
PIC handle with interrupt pin. This we map to the resource
called SYS_RES_IRQ.
|
|
|
|
|
|
|
|
| |
length to ofw_real_map in case of a null string.
This makes ofwdump(8) work correctly when trying to print all properties
with ofwdump -p.
Approved by: nwhitehorn (mentor)
|
|
|
|
|
|
|
|
|
|
| |
mappings need to end up in the kernel anyway since the kernel begins
executing in OF context. Separating them adds needless complexity,
especially since the powerpc64 and mmu_oea64 code gave up on it a long
time ago.
As a side effect, the PPC ofw_machdep code is no longer AIM-specific,
so move it to powerpc/ofw.
|
|
|
|
|
|
| |
and set memory attributes appropriately for mmap() calls on /dev/console.
Xorg no longer uses /dev/console to mmap the framebuffer, so framebuffer
write combining support in X will arrive in the next patch.
|
|
|
|
| |
Reviewed by: nwhitehorn
|
| |
|
|
|
|
|
|
| |
a virtual-mode version for use on 64-bit systems, which have 32-bit
firmware implementations and require similar constraints on addressing
to the real-mode implementation.
|
|
|
|
|
| |
instead of unsigned longs to prepare for platforms where they are not
the same.
|
|
|
|
| |
found in Apple and IBM G5 systems.
|
|
|
|
|
|
| |
On Apple systems at least, all the level interrupts are wired active low.
Before this change, our PIC programming only worked because Apple hardware
ignores the interrupt polarity bit on all interrupts except IRQ 0.
|
|
|
|
|
|
| |
OFW interrupt map interface to also return the device's interrupt parent.
MFC after: 8.1-RELEASE
|
|
|
|
|
|
|
|
|
| |
instead of 4-byte ones. Because the mouse pointer can start part way
through a character cell, 4-byte memory operations are not necessarily
aligned, triggering a fatal alignment exception when the console pointer
was moved on PowerPC G5 systems.
MFC after: 3 days
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
PPC ofw_machdep.c, in recognition of its state as a machine specific hack.
Requested by: marius
|
|
|
|
|
|
|
| |
OFW PCI layer and read the sense directly from the device tree instead
of guessing.
MFC after: 1 week
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
set to sane values as they no longer default to 0, otherwise some OFW
implementation might copy in or out arguments not based on what the actual
function takes but what ever stack garbage nargs and nreturns supply.
Reviewed by: nwhitehorn
|
|
|
|
|
|
|
|
| |
idea in principle, X does not work without them on basically any hardware,
and this is probably the most frequent problem people run into on PowerPC.
Prodded by: rnoland
MFC after: 1 week
|
|
|
|
|
|
|
| |
appear to be necessary on either sparc64 or powerpc, and is a
concurrency nightmare.
Reviewed by: marius
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces d_mmap() with the d_mmap2() implementation and also
changes the type of offset to vm_ooffset_t.
Purge d_mmap2().
All driver modules will need to be rebuilt since D_VERSION is also
bumped.
Reviewed by: jhb@
MFC after: Not in this lifetime...
|
|
|
|
|
|
|
| |
propname parameter is const
Reviewed by: imp, current@
Approved by: jhb (mentor)
|
|
|
|
| |
switching capabilities of the MPC7447A and MPC7448.
|
|
|
|
|
| |
build. This is required for the IBM Mambo simulator, as well as a variety
of non-Apple PowerPC hardware.
|
|
|
|
|
|
|
|
|
|
| |
provided, for example, on the PowerPC 970 (G5), as well as on related CPUs
like the POWER3 and POWER4.
This also adds support for various built-in hardware found on Apple G5
hardware (e.g. the IBM CPC925 northbridge).
Reviewed by: grehan
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the code for parsing interrupt maps) to PowerPC and reflect their new MI
status by moving them to the shared dev/ofw directory.
This commit also modifies the OFW PCI enumeration procedure on PowerPC to
allow the bus to find non-firmware-enumerated devices that Apple likes to add,
and adds some useful Open Firmware properties (compat and name) to the pnpinfo
string of children on OFW SBus, EBus, PCI, and MacIO links. Because of the
change to PCI enumeration on PowerPC, X has started working again on PPC
machines with Grackle hostbridges.
Reviewed by: marius
Obtained from: sparc64
|
|
|
|
|
|
|
|
| |
switch
by redoing the Open Firmware card initialization calls in ofwfb_set_mode(). This
uses the same trick (setting V_ADP_MODECHANGE) to arrange this as machfb(4) and
creatorfb(4).
|
|
|
|
| |
MFC after: 7.1-RELEASE
|
|
|
|
| |
nexus by only attaching to a device with no OF node.
|
|
|
|
|
|
|
|
|
|
|
| |
simplifies certain device attachments (Kauai ATA, for instance), and makes
possible others on new hardware.
On G5 systems, there are several otherwise standard PCI devices
(Serverworks SATA) that will not allow their interrupt properties to be
written, so this information must be supplied directly from Open Firmware.
Obtained from: sparc64
|