Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 11467
b: refs/heads/master
c: 4762713
h: refs/heads/master
i:
  11465: 263cf5b
  11463: 0f0b353
v: v3
  • Loading branch information
Michael Ellerman authored and Stephen Rothwell committed Sep 23, 2005
1 parent 7c7f49e commit 569aa12
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c0a59491daca7db11d49edad1a1cefaaa7120a9e
refs/heads/master: 4762713a93fa8706c31b0897c1340e7dc282d8fb
1 change: 0 additions & 1 deletion trunk/arch/ppc64/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,6 @@ config HOTPLUG_CPU

config PROC_DEVICETREE
bool "Support for Open Firmware device tree in /proc"
depends on !PPC_ISERIES
help
This option adds a device-tree directory under /proc which contains
an image of the device tree that the kernel copies from Open
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/ppc64/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ obj-y := setup.o entry.o traps.o irq.o idle.o dma.o \
udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o \
ptrace32.o signal32.o rtc.o init_task.o \
lmb.o cputable.o cpu_setup_power4.o idle_power4.o \
iommu.o sysfs.o vdso.o pmc.o firmware.o
iommu.o sysfs.o vdso.o pmc.o firmware.o prom.o
obj-y += vdso32/ vdso64/

obj-$(CONFIG_PPC_OF) += of_device.o
Expand All @@ -27,7 +27,7 @@ obj-$(CONFIG_PPC_ISERIES) += HvCall.o HvLpConfig.o LparData.o \
mf.o HvLpEvent.o iSeries_proc.o iSeries_htab.o \
iSeries_iommu.o

obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o prom_init.o prom.o
obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o i8259.o prom_init.o

obj-$(CONFIG_PPC_PSERIES) += pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o \
pSeries_nvram.o rtasd.o ras.o pSeries_reconfig.o \
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/ppc64/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -1364,6 +1364,7 @@ _STATIC(__start_initialization_iSeries)
addi r2,r2,0x4000

bl .iSeries_early_setup
bl .early_setup

/* relocation is on at this point */

Expand Down
22 changes: 15 additions & 7 deletions trunk/arch/ppc64/kernel/iSeries_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,12 +359,6 @@ static void __init iSeries_init_early(void)
*/
iommu_init_early_iSeries();

/*
* Initialize the table which translate Linux physical addresses to
* AS/400 absolute addresses
*/
build_iSeries_Memory_Map();

iSeries_get_cmdline();

/* Save unparsed command line copy for /proc/cmdline */
Expand Down Expand Up @@ -894,6 +888,11 @@ static int iseries_dedicated_idle(void)
void __init iSeries_init_IRQ(void) { }
#endif

static int __init iseries_probe(int platform)
{
return PLATFORM_ISERIES_LPAR == platform;
}

struct machdep_calls __initdata iseries_md = {
.setup_arch = iSeries_setup_arch,
.get_cpuinfo = iSeries_get_cpuinfo,
Expand All @@ -909,6 +908,7 @@ struct machdep_calls __initdata iseries_md = {
.get_rtc_time = iSeries_get_rtc_time,
.calibrate_decr = iSeries_calibrate_decr,
.progress = iSeries_progress,
.probe = iseries_probe,
/* XXX Implement enable_pmcs for iSeries */
};

Expand Down Expand Up @@ -1047,9 +1047,17 @@ void build_flat_dt(struct iseries_flat_dt *dt)
dt_push_u32(dt, OF_DT_END);
}

void __init iSeries_early_setup(void)
void * __init iSeries_early_setup(void)
{
iSeries_fixup_klimit();

/*
* Initialize the table which translate Linux physical addresses to
* AS/400 absolute addresses
*/
build_iSeries_Memory_Map();

build_flat_dt(&iseries_dt);

return (void *) __pa(&iseries_dt);
}
9 changes: 4 additions & 5 deletions trunk/arch/ppc64/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,13 +309,11 @@ static void __init setup_cpu_maps(void)
}
#endif /* CONFIG_SMP */


#ifdef CONFIG_PPC_MULTIPLATFORM

extern struct machdep_calls pSeries_md;
extern struct machdep_calls pmac_md;
extern struct machdep_calls maple_md;
extern struct machdep_calls bpa_md;
extern struct machdep_calls iseries_md;

/* Ultimately, stuff them in an elf section like initcalls... */
static struct machdep_calls __initdata *machines[] = {
Expand All @@ -330,6 +328,9 @@ static struct machdep_calls __initdata *machines[] = {
#endif /* CONFIG_PPC_MAPLE */
#ifdef CONFIG_PPC_BPA
&bpa_md,
#endif
#ifdef CONFIG_PPC_ISERIES
&iseries_md,
#endif
NULL
};
Expand Down Expand Up @@ -534,8 +535,6 @@ static void __init check_for_initrd(void)
#endif /* CONFIG_BLK_DEV_INITRD */
}

#endif /* CONFIG_PPC_MULTIPLATFORM */

/*
* Do some initial setup of the system. The parameters are those which
* were passed in from the bootloader.
Expand Down

0 comments on commit 569aa12

Please sign in to comment.