efi shell命令并注册R / W

时间:2016-11-30 10:22:43

标签: cpu-registers uefi

我得到了efi mm command的基本问题。 我需要控制SOC内部的控制器(MAC),并让它生成到外部PHY芯片的MDIO流量,以读取其ID。 该指令告诉我在efi shell下执行以下操作

壳牌和GT; mm xxxxxxx yyyyyyy -w 4 -MEM -n

壳牌和GT; mm xxxxxxx -w 4 -MEM -n

我想知道mm命令的作用是什么? 看起来它写入xxxxxx注册yyyyyy数据,然后" mm"这个注册了吗? 不知道为什么。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

UEFI Shell Specification中解释了mm命令:

mm address [value] [-w 1|2|4|8] [-MEM | -PMEM | -MMIO | -IO | -PCI | -PCIE] [- n]

描述说明“如果指定了值,应该以十六进制格式输入,该命令会将此值写入指定的地址。否则,执行此命令时,将显示当前的地址内容。”。

因此,您的第一个命令将32位值yyyyyyy写入地址xxxxxxx,第二个命令从地址xxxxxxx读取32位值 - 可能是为了验证写入生效了。

答案 1 :(得分:0)

示例启动.nsh



    #Sample startup.nsh
    
    @echo -off
    # Clear screen
    cls
    
    # Print date and time
    date
    time
    
    # Set special register of the CPU (Intel Denverton C3758R)
    # EFI Shell style is "mm fe000018 29C0202C -w 4 -MEM -n"
    # (more detail usage, Use "help mm")
    # but not implement in startup.nsh with error "Invalid data width"
    
    # No need option "-n" for Non-interactive write
    mm fe000018 4 :29C0002C
    
    # Non-interactive read
    mm fe000018 4 -n
    mm e00fa0a4 4 -n
    
    # System shutdown
    reset -s