From 0418a36611f9bc3901f410c06b94dbee0bb703fb Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 12 Aug 2007 02:58:23 -0700 Subject: [PATCH] --- yaml --- r: 63971 b: refs/heads/master c: 963c6527e0a0e285736ad482b8142d098f9c2288 h: refs/heads/master i: 63969: 86197339bb962ca2f6a1e4d7ebaf978cddae244b 63967: c0744e4e0bb4ea9931df84529e4ee97b4aef5c00 v: v3 --- [refs] | 2 +- trunk/arch/i386/pci/mmconfig.c | 6 +++--- trunk/arch/x86_64/lib/memcpy.S | 4 +++- 3 files changed, 7 insertions(+), 5 deletions(-) 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