| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed because when we add the suspend-to-idle loop, we only
want to break the BSP out of idle to process the taskqueue while keeping
all the others idled.
Currently assuming BSP to be CPU0, which may not always be the case on
non-x86.
Reviewed by: kib
Approved by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D54406
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the API of pci_cfgreg(read|write) to add a domain
argument (referred to as a segment in ACPI parlance) (note that this
is not the same as a NUMA domain, but something PCI-specific). This
does not yet enable access to domains other than 0, but updates the
API to support domains.
Places that use hard-coded bus/slot/function addresses have been
updated to hardcode a domain of 0. A few places that have the PCI
domain (segment) available such as the acpi_pcib_acpi.c Host-PCI
bridge driver pass the PCI domain.
The hpt27xx(4) and hptnr(4) drivers fail to attach to a device not on
domain 0 since they provide APIs to their binary blobs that only
permit bus/slot/function addressing.
The x86 non-ACPI PCI bus drivers all hardcode a domain of 0 as they do
not support multiple domains.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D42827
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apply the following automated changes to try to eliminate
no-longer-needed sys/cdefs.h includes as well as now-empty
blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/
Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/
Remove /\n+#if.*\n#endif.*\n+/
Remove /^#if.*\n#endif.*\n/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/
Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
|
| |
|
|
| |
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| |
|
|
|
|
|
|
| |
This matches the return type of pmap_mapdev/bios.
Reviewed by: kib, markj
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D36548
|
| |
|
|
| |
Notes:
svn path=/head/; revision=365096
|
| |
|
|
| |
Notes:
svn path=/head/; revision=345713
|
| |
|
|
|
|
|
|
|
|
|
| |
It's likely that the header was needed in the past for swi(9).
But now that code does not use swi(9) or any other interfaces defined
in sys/interrupt.h.
MFC after: 1 week
Notes:
svn path=/head/; revision=335934
|
| |
|
|
|
|
|
|
|
| |
AcpiOsEnterSleep() was meant to implement this feature.
Reviewed by: avg
Notes:
svn path=/head/; revision=333222
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
From ACPICA 20170929, AcpiOsGetTimer() should be available early because
While() loop timeout mechanism was reimplemented with it. Unfortunately,
it means AcpiLoadTables() may cause panic when a While() loop is executed.
After having lengthy discussions with ACPICA developers, I have concluded
that dummy timecounter is good enough for the purpose and it is the least
intrusive solution for now. Also, they reminded me the ACPI specification
implies OS timer function should be available before loading tables.
Notes:
svn path=/head/; revision=324501
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This addresses a deadlock during boot when EARLY_AP_STARTUP is configured:
a taskqueue thread may call pause() with an ACPI mutex held, and thread0
may block on this mutex before configuring the eventtimer. In this case
the taskqueue thread will sleep forever waiting for its callout to fire.
PR: 220277
Submitted by: jhb
MFC after: 3 days
Notes:
svn path=/head/; revision=320690
|
| |
|
|
| |
Notes:
svn path=/head/; revision=311462
|
| |
|
|
| |
Notes:
svn path=/head/; revision=306686
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some ACPI operations such as mutex acquires and event waits accept a
timeout. The ACPI OSD layer implements these timeouts by using regular
sleep timeouts. However, this doesn't work during early boot before
event timers are setup. Instead, use polling combined with DELAY()
to spin.
This fixes booting on upcoming Intel systems with Kaby Lake processors.
Tested by: "Jeffrey E Pieper" <jeffrey.e.pieper@intel.com>
Reviewed by: jimharris
MFC after: 1 week
Notes:
svn path=/head/; revision=299977
|
| |
|
|
| |
Notes:
svn path=/head/; revision=298714
|
| |
|
|
| |
Notes:
svn path=/head/; revision=287168
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
drivers, one for fdt, one for acpi. It then uses this to decide if it will
use fdt or acpi.
The GICv2 (interrupt controller) and Generic Timer drivers have been
updated to handle both cases.
As this is early code we still need FDT to find the kernel console, and
some parts are still missing, including PCI support.
Differential Revision: https://reviews.freebsd.org/D2463
Reviewed by: jhb, jkim, emaste
Obtained from: ABT Systems Ltd
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Notes:
svn path=/head/; revision=284273
|
| |
|
|
| |
Notes:
svn path=/head/; revision=272444
|
| |
|
|
|
|
|
|
|
|
| |
Submitted by: gibbs
MFC after: 1 month
Sponsored by: Spectra Logic
MFSpectraBSD: 636827 on 2012/09/28
Notes:
svn path=/head/; revision=272360
|
| |
|
|
| |
Notes:
svn path=/head/; revision=267992
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
These changes prevent sysctl(8) from returning proper output,
such as:
1) no output from sysctl(8)
2) erroneously returning ENOMEM with tools like truss(1)
or uname(1)
truss: can not get etype: Cannot allocate memory
Notes:
svn path=/head/; revision=267985
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there is an environment variable which shall initialize the SYSCTL
during early boot. This works for all SYSCTL types both statically and
dynamically created ones, except for the SYSCTL NODE type and SYSCTLs
which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to
be used in the case a tunable sysctl has a custom initialisation
function allowing the sysctl to still be marked as a tunable. The
kernel SYSCTL API is mostly the same, with a few exceptions for some
special operations like iterating childrens of a static/extern SYSCTL
node. This operation should probably be made into a factored out
common macro, hence some device drivers use this. The reason for
changing the SYSCTL API was the need for a SYSCTL parent OID pointer
and not only the SYSCTL parent OID list pointer in order to quickly
generate the sysctl path. The motivation behind this patch is to avoid
parameter loading cludges inside the OFED driver subsystem. Instead of
adding special code to the OFED driver subsystem to post-load tunables
into dynamically created sysctls, we generalize this in the kernel.
Other changes:
- Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask"
to "hw.pcic.intr_mask".
- Removed redundant TUNABLE statements throughout the kernel.
- Some minor code rewrites in connection to removing not needed
TUNABLE statements.
- Added a missing SYSCTL_DECL().
- Wrapped two very long lines.
- Avoid malloc()/free() inside sysctl string handling, in case it is
called to initialize a sysctl from a tunable, hence malloc()/free() is
not ready when sysctls from the sysctl dataset are registered.
- Bumped FreeBSD version to indicate SYSCTL API change.
MFC after: 2 weeks
Sponsored by: Mellanox Technologies
Notes:
svn path=/head/; revision=267961
|
| |
|
|
|
|
|
|
| |
MFC after: 2 weeks
X-MFC-With: r264849
Notes:
svn path=/head/; revision=264883
|
| |
|
|
|
|
|
| |
values can be viewed.
Notes:
svn path=/head/; revision=264849
|
| |
|
|
| |
Notes:
svn path=/head/; revision=254300
|
| |
|
|
| |
Notes:
svn path=/head/; revision=250838
|
| |
|
|
|
|
|
|
| |
- Make sure the predefined name is a string type.
- Return slightly more useful errors.
Notes:
svn path=/head/; revision=250834
|
| |
|
|
| |
Notes:
svn path=/head/; revision=250833
|
| |
|
|
|
|
|
| |
Noticed by: avg
Notes:
svn path=/head/; revision=246042
|
| |
|
|
| |
Notes:
svn path=/head/; revision=246041
|
| |
|
|
| |
Notes:
svn path=/head/; revision=236424
|
| |
|
|
| |
Notes:
svn path=/head/; revision=235945
|
| |
|
|
|
|
|
|
|
| |
it needs proper casting before multiplication.
MFC after: 3 days
Notes:
svn path=/head/; revision=232132
|
| |
|
|
| |
Notes:
svn path=/head/; revision=231844
|
| |
|
|
|
|
|
| |
translated from i386 assembly version.
Notes:
svn path=/head/; revision=231474
|
| |
|
|
|
|
|
| |
This means that their use is restricted to a single C file.
Notes:
svn path=/head/; revision=227293
|
| |
|
|
| |
Notes:
svn path=/head/; revision=222544
|
| |
|
|
|
|
|
|
|
| |
functions to obtain the address and size of the overriding DSDT.
Sponsored by: Juniper Networks.
Notes:
svn path=/head/; revision=218660
|
| |
|
|
| |
Notes:
svn path=/head/; revision=217278
|
| |
|
|
| |
Notes:
svn path=/head/; revision=217241
|
| |
|
|
| |
Notes:
svn path=/head/; revision=217240
|
| |
|
|
|
|
|
|
|
|
|
|
| |
install or remove non-SCI interrupt handlers per ACPI Component Architecture
User Guide and Programmer Reference. ACPICA may install such interrupt
handler when a GPE block device is found, for example. Add a wrapper for
ACPI_OSD_HANDLER, convert its return values to ours, and make it a filter.
Prefer KASSERT(9) over panic(9) as we have never seen those in reality.
Clean up some style(9) nits and add my copyright.
Notes:
svn path=/head/; revision=217238
|
| |
|
|
| |
Notes:
svn path=/head/; revision=217236
|
| |
|
|
| |
Notes:
svn path=/head/; revision=213787
|
| |
|
|
|
|
|
| |
Pointed out by: jhb
Notes:
svn path=/head/; revision=213783
|
| |
|
|
|
|
|
| |
without any warnings.
Notes:
svn path=/head/; revision=213772
|
| |
|
|
| |
Notes:
svn path=/head/; revision=212761
|
| |
|
|
| |
Notes:
svn path=/head/; revision=210976
|
| |
|
|
|
|
|
|
| |
iodev_write_*(). This removes unnecessary uses of temporary macros as well.
There is no functional change after this (verified with md5(1) on amd64).
Notes:
svn path=/head/; revision=210157
|
| |
|
|
|
|
|
|
|
|
| |
AcpiOsMapMemory()/AcpiOsUnmapMemory() (-> pmap_mapbios()/pmap_unmapbios())
for AcpiOsReadMemory() and AcpiOsWriteMemory(). Although they do not sound
too obvious, these functions are exclusively used to access memory mapped
IO in ACPICA.
Notes:
svn path=/head/; revision=210155
|