- 04 Nov, 2019 14 commits
-
-
Eric Joyner authored
A couple of drivers and one place in if.c use ETH_ADDR_LEN, even though net/ethernet.h provides an equivalent ETHER_ADDR_LEN definition. Cleanup all of the locations which refer to ETH_ADDR_LEN to use the standard ETHER_ADDR_LEN instead. Signed-off-by:
Jacob Keller <jacob.e.keller@intel.com> Submitted by: Jacob Keller <jacob.e.keller@intel.com> Reviewed by: erj@, jpaetzel@ Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D21239
-
Ed Maste authored
PR: 241258 Reported by: sigsys @ gmail.com Obtained from: github.com/andikleen/pmu-tools commit bb3c77ed61 MFC after: 3 days
-
Ed Maste authored
This matches Linux's default arm64 data / stack permissions. MFC after: 1 week Sponsored by: The FreeBSD Foundation
-
Brooks Davis authored
The exclusive lock assertion became incorrect due to changes in lock scope in r354155. Discussed with: jeffr Sponsored by: DARPA, AFRL
-
Dimitry Andric authored
[PowerPC] Do not emit HW loop if the body contains calls to lrint/lround These two intrinsics are lowered to calls so should prevent the formation of CTR loops. In a subsequent patch, we will handle all currently known intrinsics and prevent the formation of HW loops if any unknown intrinsics are encountered. Differential revision: https://reviews.llvm.org/D68841 This should fix an "invalid CRT loop" assertion when building the www/node port for powerpc64. Requested by: Alfredo Dal'Ava Júnior <alfredo.junior@eldorado.org.br> MFC after: 1 month X-MFC-With: r353358
-
Andrew Gallatin authored
Enabling interrupts on htt cores has benefits to workloads which are primarily interrupt driven by increasing the logical cores available for interrupt handling. The tunable is named machdep.hyperthreading_intr_allowed Reviewed by: kib, jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D22233
-
Gleb Smirnoff authored
call into leaf functions that require epoch. Since the function is already run in non-sleepable context, it should be safe to cover it whole with epoch. Reported by: syzcaller
-
Hans Petter Selasky authored
Bump the __FreeBSD_version to force recompilation of external kernel modules due to structure change. Differential Revision: https://reviews.freebsd.org/D21564 Submitted by: Greg V <greg@unrelenting.technology> MFC after: 1 week Sponsored by: Mellanox Technologies
-
Cy Schubert authored
r354269: sqlite3 is updated to sqlite3-3.30.1. r351397: WPA is updated from 2.8 to 2.9.
-
Andriy Gapon authored
The purpose of this change is to group kernelthreads specific to a particular ZFS pool under a kernel process. There can be many dozens of threads per pool. This change improves observability of those threads. This change consists of several subchanges: 1. illumos taskq_create_proc can now pass its process parameter to taskqueue. Also, use zfsproc instead of NULL for taskq_create. Caveat: zfsproc might not be initialized yet. But in that case it is still NULL, so not worse than before. 2. illumos sys/proc.h: kthread id is stored in t_did field, not t_tid. 3. zfs: enable SPA_PROCESS on the kernel side. The change is a bit hairy as newproc() is implemented privately to spa.c. I couldn't think of a better way to populate process name than to poke inside the argument for the process routine. 4. illumos thread_create: allow assigning thread to process other than zfsproc. 5. zfs: expose spa_proc to other users, assign sync and quiesce threads to it. Pool-specific threads created using (relatively new) zthr mechanism are still assigned to the zfskern process rather than to a respective zpool-xxx process. I am going to address this a bit later. Reviewed by: no one MFC after: 5 weeks Relnotes: perhaps Differential Revision: https://reviews.freebsd.org/D9720
-
Toomas Soome authored
Add small visual aid in lsdev output.
-
Kyle Evans authored
We have a bad habit of duplicating contents of files that are sourced from /dev/null and applied more than once... take the more sane (in most ways) GNU route and complain if the file exists and offer reversal options. This still falls short a little bit as selecting "don't reverse, apply anyway" will still give you duplicated file contents. There's probably other issues as well, but awareness is the first step to happiness. MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D21535
-
Vladimir Kondratyev authored
-
Justin Hibbits authored
tlb1_mapin_region() and pmap_mapdev_attr() do roughly the same thing -- map a chunk of physical address space(memory or MMIO) into virtual, but do it in differing ways. Unify the code, settling on pmap_mapdev_attr()'s algorithm, to simplify and unify the logic. This fixes a bug with growing the kernel mappings in mmu_booke_bootstrap(), where part of the mapping was not getting done, leading to a hang when the unmapped VAs were accessed.
-
- 03 Nov, 2019 26 commits
-
-
Andrew Turner authored
Some userland libraries incude machine/pcb.h and this needs the full definition of struct debug_monitor_state. To allow this to work move stuct debug_monitor_state out of the _KERNEL guard. Sponsored by: DARPA, AFRL
-
Toomas Soome authored
Apparently people are using log with boot pool, so we can not just error out there. Still we will need to investigate how to handle log properly.
-
Toomas Soome authored
Clean up the label read.
-
Vladimir Kondratyev authored
-
Vladimir Kondratyev authored
To be inline with intel-lpss Linux driver
-
Vladimir Kondratyev authored
They are clocked at 216MHz rate, much higher than previous models. PR: 240485 Submitted by: Neel Chauhan <neel@neelc.org>
-
Vladimir Kondratyev authored
That allows ig4 children to allocate IRQs
-
Vladimir Kondratyev authored
With leaving some data queued in the TX FIFO at the end of write cycle.
-
Vladimir Kondratyev authored
It gives better error detection and ig4 driver's lock coverage in a pipelined write case
-
Vladimir Kondratyev authored
It is very helpful during debugging of I2C issues. It is done only for SkyLakes due to lack of testing on other hardware.
-
Vladimir Kondratyev authored
if controller has not it done for us yet. Reset controller when transfer abort is failed.
-
Vladimir Kondratyev authored
Handle error bits of INTR_STAT and TX_ABORT registers. Move interrupt clearing from interrupt handler to polling loop to get common execution path with polled mode. Do not clear interrupts with reading of IG4_REG_CLR_INTR register as interrupts, triggered during the period from reg_read(IG4_REG_INTR_STAT) to reg_read(IG4_REG_CLR_INTR) will be missed. Instead, read each IG4_REG_CLR_* register separately.
-
Vladimir Kondratyev authored
INTR_STAT register exposes more useful informaton then STA register does e.g. it exposes error and I2C bus STOP conditions. Make it a main source of I2C transfer state.
-
Vladimir Kondratyev authored
-
Vladimir Kondratyev authored
in ig4iic_read routine. It makes possible interrupt utilization while waiting for empty space in TX FIFO.
-
Vladimir Kondratyev authored
rather than TX_NOTFULL. It makes possible interrupt utilization while waiting for empty space in TX FIFO.
-
Vladimir Kondratyev authored
-
Vladimir Kondratyev authored
That is done with re-execution of controller initialization procedure from resume handler. PR: 238037
-
Vladimir Kondratyev authored
In this mode DATA_CMD register reads and writes are performed in TX/RX FIFO-sized bursts to increase I2C bus utilization. That reduces read time from 60us to 30us per byte when read data is fit in to RX FIFO buffer in FAST speed mode in my setup.
-
Vladimir Kondratyev authored
IC clock rates are varied between different controller models so we have to adjust timing registers in each case individually. Borrow intresting constants and formulas from Intel specs, i2c-designware and lpss_intel drivers and apply them to FreeBSD supported controller models. Implement fetching of timing data via ACPI methods execution if available.
-
Vladimir Kondratyev authored
They appeared to be supported (although undocumented) on SkyLakes+ too.
-
Vladimir Kondratyev authored
After recent ig4 changes cyapa driver can be attached before timers initialization is completed. Start polling thread from config_intrhook to avoid busy loops in that case.
-
Vladimir Kondratyev authored
as the driver is fully functional on a cold boot through utilization of polled mode. As a side effect, ig4 children probe and attach methods can be called earlier in the boot sequence, so now it is up to the child drivers to wait for a kernel initialization completion if it is required.
-
Vladimir Kondratyev authored
If controller is allocated with IIC_NOWAIT option ig4 enables polled mode for a period of allocation that makes possible to start I2C transfers from the contexts where sleeping is not allowed e.g. from ithreads or callouts.
-
Vladimir Kondratyev authored
Currently ig4 internally depends on it's own interrupts and uses mtx_sleep() to wait for them. That means it can not be used from any context where sleeping is disallowed e.g. on cold boot, from DDB/KDB, from other device driver's interrupt handlers and so on. This change replaces sleeps with busy loops in cold boot and DDB cases.
-
Vladimir Kondratyev authored
It is required by controller specifications.
-