Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81a07d75 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'x86-64'

* x86-64: (83 commits)
  [PATCH] x86_64: x86_64 stack usage debugging
  [PATCH] x86_64: (resend) x86_64 stack overflow debugging
  [PATCH] x86_64: msi_apic.c build fix
  [PATCH] x86_64: i386/x86-64 Add nmi watchdog support for new Intel CPUs
  [PATCH] x86_64: Avoid broadcasting NMI IPIs
  [PATCH] x86_64: fix apic error on bootup
  [PATCH] x86_64: enlarge window for stack growth
  [PATCH] x86_64: Minor string functions optimizations
  [PATCH] x86_64: Move export symbols to their C functions
  [PATCH] x86_64: Standardize i386/x86_64 handling of NMI_VECTOR
  [PATCH] x86_64: Fix modular pc speaker
  [PATCH] x86_64: remove sys32_ni_syscall()
  [PATCH] x86_64: Do not use -ffunction-sections for modules
  [PATCH] x86_64: Add cpu_relax to apic_wait_icr_idle
  [PATCH] x86_64: adjust kstack_depth_to_print default
  [PATCH] i386/x86-64: adjust /proc/interrupts column headings
  [PATCH] x86_64: Fix race in cpu_local_* on preemptible kernels
  [PATCH] x86_64: Fix fast check in safe_smp_processor_id
  [PATCH] x86_64: x86_64 setup.c - printing cmp related boottime information
  [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status
  ...

Manual resolve of trivial conflict in arch/i386/kernel/Makefile
parents 8871e73f 8501a2fb
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -205,6 +205,27 @@ IOMMU
  pages  Prereserve that many 128K pages for the software IO bounce buffering.
  force  Force all IO through the software TLB.

  calgary=[64k,128k,256k,512k,1M,2M,4M,8M]
  calgary=[translate_empty_slots]
  calgary=[disable=<PCI bus number>]

    64k,...,8M - Set the size of each PCI slot's translation table
    when using the Calgary IOMMU. This is the size of the translation
    table itself in main memory. The smallest table, 64k, covers an IO
    space of 32MB; the largest, 8MB table, can cover an IO space of
    4GB. Normally the kernel will make the right choice by itself.

    translate_empty_slots - Enable translation even on slots that have
    no devices attached to them, in case a device will be hotplugged
    in the future.

    disable=<PCI bus number> - Disable translation on a given PHB. For
    example, the built-in graphics adapter resides on the first bridge
    (PCI bus number 0); if translation (isolation) is enabled on this
    bridge, X servers that access the hardware directly from user
    space might stop working. Use this option if you have devices that
    are accessed from userspace directly on some PCI host bridge.

Debugging

  oops=panic Always panic on oopses. Default is to just kill the process,
+13 −0
Original line number Diff line number Diff line
@@ -328,6 +328,15 @@ config X86_MCE_P4THERMAL
	  Enabling this feature will cause a message to be printed when the P4
	  enters thermal throttling.

config VM86
	default y
	bool "Enable VM86 support" if EMBEDDED
	help
          This option is required by programs like DOSEMU to run 16-bit legacy
	  code on X86 processors. It also may be needed by software like
          XFree86 to initialize some video cards via BIOS. Disabling this
          option saves about 6k.

config TOSHIBA
	tristate "Toshiba Laptop support"
	---help---
@@ -1068,6 +1077,10 @@ config SCx200HR_TIMER
	  processor goes idle (as is done by the scheduler).  The
	  other workaround is idle=poll boot option.

config K8_NB
	def_bool y
	depends on AGP_AMD64

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"
+7 −2
Original line number Diff line number Diff line
@@ -109,8 +109,13 @@ fdimage288: $(BOOTIMAGE) $(obj)/mtools.conf
isoimage: $(BOOTIMAGE)
	-rm -rf $(obj)/isoimage
	mkdir $(obj)/isoimage
	cp `echo /usr/lib*/syslinux/isolinux.bin | awk '{ print $1; }'` \
		$(obj)/isoimage
	for i in lib lib64 share end ; do \
		if [ -f /usr/$$i/syslinux/isolinux.bin ] ; then \
			cp /usr/$$i/syslinux/isolinux.bin $(obj)/isoimage ; \
			break ; \
		fi ; \
		if [ $$i = end ] ; then exit 1 ; fi ; \
	done
	cp $(BOOTIMAGE) $(obj)/isoimage/linux
	echo '$(image_cmdline)' > $(obj)/isoimage/isolinux.cfg
	if [ -f '$(FDINITRD)' ] ; then \
+12 −20
Original line number Diff line number Diff line
@@ -24,14 +24,6 @@

#undef memset
#undef memcpy

/*
 * Why do we do this? Don't ask me..
 *
 * Incomprehensible are the ways of bootloaders.
 */
static void* memset(void *, int, size_t);
static void* memcpy(void *, __const void *, size_t);
#define memzero(s, n)     memset ((s), 0, (n))

typedef unsigned char  uch;
@@ -93,7 +85,7 @@ static unsigned char *real_mode; /* Pointer to real-mode data */
#endif
#define RM_SCREEN_INFO (*(struct screen_info *)(real_mode+0))

extern char input_data[];
extern unsigned char input_data[];
extern int input_len;

static long bytes_out = 0;
@@ -103,6 +95,9 @@ static unsigned long output_ptr = 0;
static void *malloc(int size);
static void free(void *where);

static void *memset(void *s, int c, unsigned n);
static void *memcpy(void *dest, const void *src, unsigned n);

static void putstr(const char *);

extern int end;
@@ -205,7 +200,7 @@ static void putstr(const char *s)
	outb_p(0xff & (pos >> 1), vidport+1);
}

static void* memset(void* s, int c, size_t n)
static void* memset(void* s, int c, unsigned n)
{
	int i;
	char *ss = (char*)s;
@@ -214,14 +209,13 @@ static void* memset(void* s, int c, size_t n)
	return s;
}

static void* memcpy(void* __dest, __const void* __src,
			    size_t __n)
static void* memcpy(void* dest, const void* src, unsigned n)
{
	int i;
	char *d = (char *)__dest, *s = (char *)__src;
	char *d = (char *)dest, *s = (char *)src;

	for (i=0;i<__n;i++) d[i] = s[i];
	return __dest;
	for (i=0;i<n;i++) d[i] = s[i];
	return dest;
}

/* ===========================================================================
@@ -309,7 +303,7 @@ static void setup_normal_output_buffer(void)
#else
	if ((RM_ALT_MEM_K > RM_EXT_MEM_K ? RM_ALT_MEM_K : RM_EXT_MEM_K) < 1024) error("Less than 2MB of memory");
#endif
	output_data = (char *)__PHYSICAL_START; /* Normally Points to 1M */
	output_data = (unsigned char *)__PHYSICAL_START; /* Normally Points to 1M */
	free_mem_end_ptr = (long)real_mode;
}

@@ -324,11 +318,9 @@ static void setup_output_buffer_if_we_run_high(struct moveparams *mv)
#ifdef STANDARD_MEMORY_BIOS_CALL
	if (RM_EXT_MEM_K < (3*1024)) error("Less than 4MB of memory");
#else
	if ((RM_ALT_MEM_K > RM_EXT_MEM_K ? RM_ALT_MEM_K : RM_EXT_MEM_K) <
			(3*1024))
		error("Less than 4MB of memory");
	if ((RM_ALT_MEM_K > RM_EXT_MEM_K ? RM_ALT_MEM_K : RM_EXT_MEM_K) < (3*1024)) error("Less than 4MB of memory");
#endif	
	mv->low_buffer_start = output_data = (char *)LOW_BUFFER_START;
	mv->low_buffer_start = output_data = (unsigned char *)LOW_BUFFER_START;
	low_buffer_end = ((unsigned int)real_mode > LOW_BUFFER_MAX
	  ? LOW_BUFFER_MAX : (unsigned int)real_mode) & ~0xfff;
	low_buffer_size = low_buffer_end - LOW_BUFFER_START;
+4 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ obj-$(CONFIG_DOUBLEFAULT) += doublefault.o
obj-$(CONFIG_VM86)		+= vm86.o
obj-$(CONFIG_EARLY_PRINTK)	+= early_printk.o
obj-$(CONFIG_HPET_TIMER) 	+= hpet.o
obj-$(CONFIG_K8_NB)		+= k8.o

EXTRA_AFLAGS   := -traditional

@@ -76,3 +77,6 @@ SYSCFLAGS_vsyscall-syms.o = -r
$(obj)/vsyscall-syms.o: $(src)/vsyscall.lds \
			$(obj)/vsyscall-sysenter.o $(obj)/vsyscall-note.o FORCE
	$(call if_changed,syscall)

k8-y                      += ../../x86_64/kernel/k8.o
Loading