mirror of
https://github.com/systemd/systemd
synced 2025-09-30 17:24:46 +02:00
Compare commits
3 Commits
46a688c559
...
e8628ddb78
Author | SHA1 | Date | |
---|---|---|---|
![]() |
e8628ddb78 | ||
![]() |
64fc4917b9 | ||
![]() |
ddc9d2a836 |
@ -21,21 +21,6 @@
|
|||||||
# Allowed properties are:
|
# Allowed properties are:
|
||||||
# ID_SOFTWARE_RADIO=0|1
|
# ID_SOFTWARE_RADIO=0|1
|
||||||
|
|
||||||
##########################################
|
|
||||||
# Nuand
|
|
||||||
##########################################
|
|
||||||
# bladeRF 1.x
|
|
||||||
usb:v2CF0p5246*
|
|
||||||
ID_SOFTWARE_RADIO=1
|
|
||||||
|
|
||||||
# bladeRF 1.x (legacy)
|
|
||||||
usb:v1D50p6066*
|
|
||||||
ID_SOFTWARE_RADIO=1
|
|
||||||
|
|
||||||
# bladeRF 2.0 micro
|
|
||||||
usb:v2CF0p5250*
|
|
||||||
ID_SOFTWARE_RADIO=1
|
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Analog Devices
|
# Analog Devices
|
||||||
##########################################
|
##########################################
|
||||||
@ -67,6 +52,21 @@ usb:v3923p7813*
|
|||||||
usb:v3923p7814*
|
usb:v3923p7814*
|
||||||
ID_SOFTWARE_RADIO=1
|
ID_SOFTWARE_RADIO=1
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# Nuand
|
||||||
|
##########################################
|
||||||
|
# bladeRF 1.x
|
||||||
|
usb:v2CF0p5246*
|
||||||
|
ID_SOFTWARE_RADIO=1
|
||||||
|
|
||||||
|
# bladeRF 1.x (legacy)
|
||||||
|
usb:v1D50p6066*
|
||||||
|
ID_SOFTWARE_RADIO=1
|
||||||
|
|
||||||
|
# bladeRF 2.0 micro
|
||||||
|
usb:v2CF0p5250*
|
||||||
|
ID_SOFTWARE_RADIO=1
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# RTL-SDR
|
# RTL-SDR
|
||||||
##########################################
|
##########################################
|
||||||
|
@ -132,7 +132,10 @@ static EFI_STATUS kernel_set_nx(EFI_PHYSICAL_ADDRESS addr, uint64_t length) {
|
|||||||
|
|
||||||
err = BS->LocateProtocol(MAKE_GUID_PTR(EFI_MEMORY_ATTRIBUTE_PROTOCOL), NULL, (void **) &memory_proto);
|
err = BS->LocateProtocol(MAKE_GUID_PTR(EFI_MEMORY_ATTRIBUTE_PROTOCOL), NULL, (void **) &memory_proto);
|
||||||
if (err != EFI_SUCCESS) {
|
if (err != EFI_SUCCESS) {
|
||||||
log_debug("No EFI_MEMORY_ATTRIBUTE_PROTOCOL found, skipping NX_COMPAT support.");
|
/* only log if the UEFI should have support in the first place (version >=2.10) */
|
||||||
|
if (ST->Hdr.Revision >= ((2U << 16) | 100U))
|
||||||
|
log_debug("No EFI_MEMORY_ATTRIBUTE_PROTOCOL found, skipping NX_COMPAT support.");
|
||||||
|
|
||||||
return EFI_SUCCESS; /* ignore if firmware lacks support */
|
return EFI_SUCCESS; /* ignore if firmware lacks support */
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,8 +147,6 @@ static EFI_STATUS kernel_set_nx(EFI_PHYSICAL_ADDRESS addr, uint64_t length) {
|
|||||||
if (err != EFI_SUCCESS)
|
if (err != EFI_SUCCESS)
|
||||||
return log_error_status(err, "Cannot make kernel image executable: %m");
|
return log_error_status(err, "Cannot make kernel image executable: %m");
|
||||||
|
|
||||||
log_debug("Changed kernel image to read-only for NX_COMPAT support.");
|
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +156,10 @@ static EFI_STATUS kernel_clear_nx(EFI_PHYSICAL_ADDRESS addr, uint64_t length) {
|
|||||||
|
|
||||||
err = BS->LocateProtocol(MAKE_GUID_PTR(EFI_MEMORY_ATTRIBUTE_PROTOCOL), NULL, (void **) &memory_proto);
|
err = BS->LocateProtocol(MAKE_GUID_PTR(EFI_MEMORY_ATTRIBUTE_PROTOCOL), NULL, (void **) &memory_proto);
|
||||||
if (err != EFI_SUCCESS) {
|
if (err != EFI_SUCCESS) {
|
||||||
log_debug("No EFI_MEMORY_ATTRIBUTE_PROTOCOL found, skipping NX_COMPAT support.");
|
/* only log if the UEFI should have support in the first place (version >=2.10) */
|
||||||
|
if (ST->Hdr.Revision >= ((2U << 16) | 100U))
|
||||||
|
log_debug("No EFI_MEMORY_ATTRIBUTE_PROTOCOL found, skipping NX_COMPAT support.");
|
||||||
|
|
||||||
return EFI_SUCCESS; /* ignore if firmware lacks support */
|
return EFI_SUCCESS; /* ignore if firmware lacks support */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2276,17 +2276,17 @@ static void retroactively_start_dependencies(Unit *u) {
|
|||||||
assert(u);
|
assert(u);
|
||||||
assert(UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(u)));
|
assert(UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(u)));
|
||||||
|
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, UNIT_ATOM_RETROACTIVE_START_REPLACE) /* Requires= + BindsTo= */
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_START_REPLACE) /* Requires= + BindsTo= */
|
||||||
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
||||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
(void) manager_add_job(u->manager, JOB_START, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||||
|
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, UNIT_ATOM_RETROACTIVE_START_FAIL) /* Wants= */
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_START_FAIL) /* Wants= */
|
||||||
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
if (!unit_has_dependency(u, UNIT_ATOM_AFTER, other) &&
|
||||||
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
!UNIT_IS_ACTIVE_OR_ACTIVATING(unit_active_state(other)))
|
||||||
(void) manager_add_job(u->manager, JOB_START, other, JOB_FAIL, /* error = */ NULL, /* ret = */ NULL);
|
(void) manager_add_job(u->manager, JOB_START, other, JOB_FAIL, /* error = */ NULL, /* ret = */ NULL);
|
||||||
|
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_START) /* Conflicts= (and inverse) */
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_START) /* Conflicts= (and inverse) */
|
||||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||||
}
|
}
|
||||||
@ -2298,7 +2298,7 @@ static void retroactively_stop_dependencies(Unit *u) {
|
|||||||
assert(UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(u)));
|
assert(UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(u)));
|
||||||
|
|
||||||
/* Pull down units which are bound to us recursively if enabled */
|
/* Pull down units which are bound to us recursively if enabled */
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_STOP) /* BoundBy= */
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_RETROACTIVE_STOP_ON_STOP) /* BoundBy= */
|
||||||
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
if (!UNIT_IS_INACTIVE_OR_DEACTIVATING(unit_active_state(other)))
|
||||||
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
(void) manager_add_job(u->manager, JOB_STOP, other, JOB_REPLACE, /* error = */ NULL, /* ret = */ NULL);
|
||||||
}
|
}
|
||||||
@ -2325,7 +2325,7 @@ void unit_start_on_termination_deps(Unit *u, UnitDependencyAtom atom) {
|
|||||||
assert(dependency_name);
|
assert(dependency_name);
|
||||||
|
|
||||||
Unit *other;
|
Unit *other;
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, atom) {
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, atom) {
|
||||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||||
|
|
||||||
if (n_jobs == 0)
|
if (n_jobs == 0)
|
||||||
@ -2348,7 +2348,7 @@ void unit_trigger_notify(Unit *u) {
|
|||||||
|
|
||||||
assert(u);
|
assert(u);
|
||||||
|
|
||||||
UNIT_FOREACH_DEPENDENCY(other, u, UNIT_ATOM_TRIGGERED_BY)
|
UNIT_FOREACH_DEPENDENCY_SAFE(other, u, UNIT_ATOM_TRIGGERED_BY)
|
||||||
if (UNIT_VTABLE(other)->trigger_notify)
|
if (UNIT_VTABLE(other)->trigger_notify)
|
||||||
UNIT_VTABLE(other)->trigger_notify(other, u);
|
UNIT_VTABLE(other)->trigger_notify(other, u);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user