patch-2.2.0-pre1 linux/arch/i386/mm/init.c
Next file: linux/arch/i386/vmlinux.lds
Previous file: linux/arch/i386/lib/usercopy.c
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Sun Dec 27 10:39:50 1998
- Orig file:
v2.1.132/linux/arch/i386/mm/init.c
- Orig date:
Wed Dec 16 10:32:54 1998
diff -u --recursive --new-file v2.1.132/linux/arch/i386/mm/init.c linux/arch/i386/mm/init.c
@@ -119,24 +119,28 @@
pte_t * __bad_pagetable(void)
{
extern char empty_bad_page_table[PAGE_SIZE];
+ int d0, d1;
- __asm__ __volatile__("cld ; rep ; stosl":
- :"a" (pte_val(BAD_PAGE)),
- "D" ((long) empty_bad_page_table),
- "c" (PAGE_SIZE/4)
- :"di","cx");
+ __asm__ __volatile__("cld ; rep ; stosl"
+ : "=&D" (d0), "=&c" (d1)
+ : "a" (pte_val(BAD_PAGE)),
+ "0" ((long) empty_bad_page_table),
+ "1" (PAGE_SIZE/4)
+ : "memory");
return (pte_t *) empty_bad_page_table;
}
pte_t __bad_page(void)
{
extern char empty_bad_page[PAGE_SIZE];
+ int d0, d1;
- __asm__ __volatile__("cld ; rep ; stosl":
- :"a" (0),
- "D" ((long) empty_bad_page),
- "c" (PAGE_SIZE/4)
- :"di","cx");
+ __asm__ __volatile__("cld ; rep ; stosl"
+ : "=&D" (d0), "=&c" (d1)
+ : "a" (0),
+ "0" ((long) empty_bad_page),
+ "1" (PAGE_SIZE/4)
+ : "memory");
return pte_mkdirty(mk_pte((unsigned long) empty_bad_page, PAGE_SHARED));
}
@@ -298,7 +302,8 @@
* NOTE! There are Linux loaders that will corrupt the EBDA
* area, and as such this kind of SMP config may be less
* trustworthy, simply because the SMP table may have been
- * stomped on during early boot.
+ * stomped on during early boot. These loaders are buggy and
+ * should be fixed.
*/
address = *(unsigned short *)phys_to_virt(0x40E);
address<<=4;
FUNET's LINUX-ADM group, [email protected]
TCL-scripts by Sam Shen, [email protected]