diff --git a/[refs] b/[refs] index 2ce18e9ab206..7f55a98de43a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4e54e9f4423a86aa21b70cb9d339cb09f275188f +refs/heads/master: 963c6527e0a0e285736ad482b8142d098f9c2288 diff --git a/trunk/arch/i386/pci/mmconfig.c b/trunk/arch/i386/pci/mmconfig.c index 0d46b7a88b3b..1bf5816d34c8 100644 --- a/trunk/arch/i386/pci/mmconfig.c +++ b/trunk/arch/i386/pci/mmconfig.c @@ -115,13 +115,13 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, switch (len) { case 1: - mmio_config_writeb(mmcfg_virt_addr, value); + mmio_config_writeb(mmcfg_virt_addr + reg, value); break; case 2: - mmio_config_writew(mmcfg_virt_addr, value); + mmio_config_writew(mmcfg_virt_addr + reg, value); break; case 4: - mmio_config_writel(mmcfg_virt_addr, value); + mmio_config_writel(mmcfg_virt_addr + reg, value); break; } spin_unlock_irqrestore(&pci_config_lock, flags); diff --git a/trunk/arch/x86_64/lib/memcpy.S b/trunk/arch/x86_64/lib/memcpy.S index 0ea0ddc875a7..c22981fa2f3a 100644 --- a/trunk/arch/x86_64/lib/memcpy.S +++ b/trunk/arch/x86_64/lib/memcpy.S @@ -124,6 +124,8 @@ ENDPROC(__memcpy) .quad memcpy .quad 1b .byte X86_FEATURE_REP_GOOD - .byte .Lfinal - memcpy + /* Replace only beginning, memcpy is used to apply alternatives, so it + * is silly to overwrite itself with nops - reboot is only outcome... */ + .byte 2b - 1b .byte 2b - 1b .previous