|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3, v6.6-rc2 |
|
| #
305a5551 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: add system_ctl_load()
Add system_ctl_load() which can be used to load a value to a control register system wide.
Refactor system_ctl_set_clear_bit() so it can handle all different requ
s390/ctlreg: add system_ctl_load()
Add system_ctl_load() which can be used to load a value to a control register system wide.
Refactor system_ctl_set_clear_bit() so it can handle all different request types, and also rename it to system_ctlreg_modify()
Signed-off-by: Heiko Carstens <[email protected]> Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
cce2c860 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: allow to call system_ctl_set/clear_bit() early
Allow to call system_ctl_set_bit() and system_clt_clear_bit() early, so that users do not have to take care when the control register save
s390/ctlreg: allow to call system_ctl_set/clear_bit() early
Allow to call system_ctl_set_bit() and system_clt_clear_bit() early, so that users do not have to take care when the control register save area has been initialized. Users are supposed to use system_ctl_set_bit() and system:clt_clear_bit() for all control register changes which are supposed to be seen globally.
Depending on the system state such calls will change:
- local control register contents - save area and local control register contents - save area and global control register contents
Signed-off-by: Heiko Carstens <[email protected]> Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
d11d5c8c |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctltreg: make initialization of control register save area explicit
Commit e1b9c2749af0 ("s390/smp: ensure global control register contents are in sync") made the control register save area con
s390/ctltreg: make initialization of control register save area explicit
Commit e1b9c2749af0 ("s390/smp: ensure global control register contents are in sync") made the control register save area contained within the lowcore at absolute address zero a resource which is used when initializing CPUs. However this is anything but obvious from the code.
Add an ctlreg_init_save_area() function in order to make this explicit.
Signed-off-by: Heiko Carstens <[email protected]> Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
527618ab |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: add struct ctlreg
Add struct ctlreg to enforce strict type checking / usage for control register functions.
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko
s390/ctlreg: add struct ctlreg
Add struct ctlreg to enforce strict type checking / usage for control register functions.
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
80725978 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: change parameters of __local_ctl_load() and __local_ctl_store()
Change __local_ctl_load() and __local_ctl_store(), so that control register parameters come first.
This way all control
s390/ctlreg: change parameters of __local_ctl_load() and __local_ctl_store()
Change __local_ctl_load() and __local_ctl_store(), so that control register parameters come first.
This way all control handling functions consistently have control register(s) parameter first.
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
8d5e98f8 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: add local and system prefix to some functions
Add local and system prefix to some functions to clarify they change control register contents on either the local CPU or the on all CPUs.
s390/ctlreg: add local and system prefix to some functions
Add local and system prefix to some functions to clarify they change control register contents on either the local CPU or the on all CPUs.
This results in the following API:
Two defines which load and save multiple control registers. The defines correlate with the following C prototypes:
void __local_ctl_load(unsigned long *, unsigned int cr_low, unsigned int cr_high); void __local_ctl_store(unsigned long *, unsigned int cr_low, unsigned int cr_high);
Two functions which locally set or clear one bit for a specified control register:
void local_ctl_set_bit(unsigned int cr, unsigned int bit); void local_ctl_clear_bit(unsigned int cr, unsigned int bit);
Two functions which set or clear one bit for a specified control register on all CPUs:
void system_ctl_set_bit(unsigned int cr, unsigned int bit); void system_ctl_clear_bit(unsigend int cr, unsigned int bit);
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
ebe1cd53 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: rename ctl_reg.h to ctlreg.h
Rename ctl_reg.h to ctlreg.h so it matches not only ctlreg.c but also other control register related function, union, and structure names, which all come wi
s390/ctlreg: rename ctl_reg.h to ctlreg.h
Rename ctl_reg.h to ctlreg.h so it matches not only ctlreg.c but also other control register related function, union, and structure names, which all come with a ctlreg prefix.
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|
| #
0c4d01f3 |
| 11-Sep-2023 |
Heiko Carstens <[email protected]> |
s390/ctlreg: move control register code to separate file
Control register handling has nothing to do with low level SMP code. Move it to a separate file.
Reviewed-by: Alexander Gordeev <agordeev@li
s390/ctlreg: move control register code to separate file
Control register handling has nothing to do with low level SMP code. Move it to a separate file.
Reviewed-by: Alexander Gordeev <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Vasily Gorbik <[email protected]>
show more ...
|