提交 ae000eec 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
  [x86 setup] Correct the SMAP check for INT 0x15, AX=0xe820
...@@ -28,11 +28,14 @@ static int detect_memory_e820(void) ...@@ -28,11 +28,14 @@ static int detect_memory_e820(void)
do { do {
size = sizeof(struct e820entry); size = sizeof(struct e820entry);
id = SMAP;
/* Important: %edx is clobbered by some BIOSes,
so it must be either used for the error output
or explicitly marked clobbered. */
asm("int $0x15; setc %0" asm("int $0x15; setc %0"
: "=am" (err), "+b" (next), "+d" (id), "+c" (size), : "=d" (err), "+b" (next), "=a" (id), "+c" (size),
"=m" (*desc) "=m" (*desc)
: "D" (desc), "a" (0xe820)); : "D" (desc), "d" (SMAP), "a" (0xe820));
/* Some BIOSes stop returning SMAP in the middle of /* Some BIOSes stop returning SMAP in the middle of
the search loop. We don't know exactly how the BIOS the search loop. We don't know exactly how the BIOS
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册