Копирование / перемещение групповых файлов с переименованием

Вы можете довольно легко управлять некоторыми регистрами шины pci устройства с помощью setpci . Примечание: это опасно и может привести к сбою вашей системы!

Например, найдите шину pci и слот для своей графической платы:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)

$ lspci -s 00:02.0 -v
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) (prog-if 00 [VGA controller])
        DeviceName:  Onboard IGD
        Subsystem: Holco Enterprise Co, Ltd/Shuttle Computer Device 4018
        Flags: bus master, fast devsel, latency 0, IRQ 29
        Memory at f7400000 (64-bit, non-prefetchable) [size=4M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at f000 [size=64]
        Expansion ROM at  [disabled]
        Capabilities: 
        Kernel driver in use: i915
        Kernel modules: i915

Вы можете читать и записывать регистры с помощью setpci . Вы должны быть root, чтобы читать некоторые регистры и записывать любой из них. Имена регистров перечислены как setpci --dumpregs . Например:

$ setpci -s 00:02.0 command   
0407

16-битный регистр pci config command является важным регистром. Значение битов можно получить из заголовка linux . Младшие 3 бита равны 1, чтобы позволить устройству реагировать на циклы ввода-вывода и памяти от процессора, а также быть мастером шины, чтобы оно могло передавать данные в основную память процессора.

Если вы отключите эти биты, устройство больше не будет реагировать на ваш драйвер. Остерегайтесь, это может привести к сбою вашей системы . Не проверяйте это легкомысленно:

$ sudo setpci -s 00:02.0 command=0000 # DONT DO THIS!

Вы можете попробовать написать сценарий, чтобы установить регистр в 0, подождав несколько секунд, пока ваша графика попытается нарисовать, а затем верните регистр к исходному значению (command = 0407). Все числа в шестнадцатеричном формате (без префикса 0x). Как упоминалось в комментариях, вам может потребоваться предоставить 4 цифры для значения, несмотря на то, что ширина именованных регистров (например, command ) известна setpci . Вы можете указать ширину с суффиксом к имени регистра .b (8 бит), .w (16) или .l (32) .

Сброс оборудования сложнее, так как часто требуется, чтобы вы знали о конкретном регистре в оборудовании для сброса или в оборудовании родительской шины.

1
31.03.2016, 13:57
2 ответа
cd <old_path>
rename "s/.py/.py.rename/" *.py
mv *.py.rename <new_path>
0
29.04.2021, 00:16
rsync -v --backup --suffix=something ./patt*.py /other/path
2
29.04.2021, 00:16

Теги

Похожие вопросы