- 02 Nov, 2013 6 commits
-
-
Borislav Petkov authored
Handle last level by unconditionally writing the PTEs into the PTE page while paying attention to the NX bit. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Borislav Petkov authored
Handle PMD-level mappings the same as PUD ones. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Borislav Petkov authored
Add the next level of the pagetable populating function, we handle chunks around a 1G boundary by mapping them with the lower level functions - otherwise we use 1G pages for the mappings, thus using as less amount of pagetable pages as possible. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Borislav Petkov authored
This allocates, if necessary, and populates the corresponding PGD entry with a PUD page. The next population level is a dummy macro which will be removed by the next patch and it is added here to keep the patch small and easily reviewable but not break bisection, at the same time. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Borislav Petkov authored
This is preparatory work in order to be able to map pages into a specified PGD and not implicitly and only into init_mm. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Borislav Petkov authored
... and lose one #ifdef .. #endif sandwich. Signed-off-by:
Borislav Petkov <bp@suse.de> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 28 Oct, 2013 1 commit
-
-
Matt Fleming authored
It's incredibly difficult to diagnose early EFI boot issues without special hardware because earlyprintk=vga doesn't work on EFI systems. Add support for writing to the EFI framebuffer, via earlyprintk=efi, which will actually give users a chance of providing debug output. Cc: H. Peter Anvin <hpa@zytor.com> Acked-by:
Ingo Molnar <mingo@kernel.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Jones <pjones@redhat.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 04 Oct, 2013 2 commits
-
-
Roy Franz authored
Remove a redundant memset() call from efi_relocate_kernel() that was clearing memory that would be used by BSS in non-compressed images loaded with this function. This clear was redundant with the clearing done in the image itself, and also implemented incorrectly with a 0 length. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Leif Lindholm authored
Incorrect use of 0 in terminating entry of arch_tables[] causes the following sparse warning, arch/x86/platform/efi/efi.c:74:27: sparse: Using plain integer as NULL pointer Replace with NULL. Signed-off-by:
Leif Lindholm <leif.lindholm@linaro.org> [ Included sparse warning in commit message. ] Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 30 Sep, 2013 2 commits
-
-
Bart Kuivenhoven authored
The problem in efi_main was that the idt was cleared before the interrupts were disabled. The UEFI spec states that interrupts aren't used so this shouldn't be too much of a problem. Peripherals however don't necessarily know about this and thus might cause interrupts to happen anyway. Even if ExitBootServices() has been called. This means there is a risk of an interrupt being triggered while the IDT register is nullified and the interrupt bit hasn't been cleared, allowing for a triple fault. This patch disables the interrupt flag, while leaving the existing IDT in place. The CPU won't care about the IDT at all as long as the interrupt bit is off, so it's safe to leave it in place as nothing will ever happen to it. [ Removed the now unused 'idt' variable - Matt ] Signed-off-by:
Bart Kuivenhoven <bemk@redhat.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Linn Crosetto authored
This patch fixes a problem with EFI memory maps larger than 128 entries when booting using the EFI stub, which results in overflowing e820_map in boot_params and an eventual halt when checking the map size in sanitize_e820_map(). If the number of map entries is greater than what can fit in e820_map, add the extra entries to the setup_data list using type SETUP_E820_EXT. These extra entries are then picked up when the setup_data list is parsed in parse_e820_ext(). Signed-off-by:
Linn Crosetto <linn@hp.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 25 Sep, 2013 18 commits
-
-
Matt Fleming authored
-
Roy Franz authored
warnings from gcc: warning: label 'free_pool' defined but not used [-Wunused-label] warning: value computed is not used [-Wunused-value] Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
EFI calls can made directly on ARM, so the function pointers are directly invoked. This allows types to be checked at compile time, so here we ensure that the parameters match the function signature. The wrappers used by x86 prevent any type checking. Correct the type of chunksize to be based on native width as specified by the EFI_FILE_PROTOCOL read() function. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Rename variables to be not initrd specific, as now the function loads arbitrary files. This change is exclusively renames and comment changes to reflect the generalization. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
The handle_cmdline_files now takes the option to handle as a string, and returns the loaded data through parameters, rather than taking an x86 specific setup_header structure. For ARM, this will be used to load a device tree blob in addition to initrd images. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Make efi_free() safely callable with size of 0, similar to free() being callable with NULL pointers, and do nothing in that case. Remove size checks that this makes redundant. This also avoids some size checks in the ARM EFI stub code that will be added as well. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Replace the open-coded memory map getting with the efi_get_memory_map() that is now general enough to use. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Add arguments for returning the descriptor version and also the memory map key. The key is required for calling exit_boot_services(). Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Rename function in preparation for making it more flexible and sharing it. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Move the open-coded conversion to a shared function for use by all architectures. Change the allocation to prefer a high address for ARM, as this is required to avoid conflicts with reserved regions in low memory. We don't know the specifics of these regions until after we process the command line and device tree. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Rename relocate_kernel() to efi_relocate_kernel(), and take parameters rather than x86 specific structure. Add max_addr argument as for ARM we have some address constraints that we need to enforce when relocating the kernel. Add alloc_size parameter for use by ARM64 which uses an uncompressed kernel, and needs to allocate space for BSS. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
The relocate_kernel() function will be generalized and used by all architectures, as they all have similar requirements. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
The efi_high_alloc() and efi_low_alloc() functions use the EFI_ALLOCATE_ADDRESS option to the EFI function allocate_pages(), which requires a minimum of page alignment, and rejects all other requests. The existing code could fail to allocate depending on allocation size, as although repeated allocation attempts were made, none were guaranteed to be page aligned. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Rename them to be more similar, as low_free() could be used to free memory allocated by both high_alloc() and low_alloc(). high_alloc() -> efi_high_alloc() low_alloc() -> efi_low_alloc() low_free() -> efi_free() Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Add system table pointer argument to shared EFI stub related functions so they no longer use a global system table pointer as they did when part of eboot.c. For the ARM EFI stub this allows us to avoid global variables completely and thereby not have to deal with GOT fixups. Not having the EFI stub fixup its GOT, which is shared with the decompressor, simplifies the relocating of the zImage to a bootable address. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
No code changes made, just moving functions and #define from x86 arch directory to common location. Code is shared using #include, similar to how decompression code is shared among architectures. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
The x86/AMD64 EFI stubs must use a call wrapper to convert between the Linux and EFI ABIs, so void pointers are sufficient. For ARM, the ABIs are compatible, so we can directly invoke the function pointers. The functions that are used by the ARM stub are updated to match the EFI definitions. Also add some EFI types used by EFI functions. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Acked-by:
Mark Salter <msalter@redhat.com> Reviewed-by:
Grant Likely <grant.likely@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Roy Franz authored
Move efi-stub.txt out of x86 directory and into common directory in preparation for adding ARM EFI stub support. Signed-off-by:
Roy Franz <roy.franz@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 05 Sep, 2013 5 commits
-
-
Matt Fleming authored
-
Leif Lindholm authored
efi_lookup_mapped_addr() is a handy utility for other platforms than x86. Move it from arch/x86 to drivers/firmware. Add memmap pointer to global efi structure, and initialise it on x86. Signed-off-by:
Leif Lindholm <leif.lindholm@linaro.org> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Leif Lindholm authored
Common to (U)EFI support on all platforms is the global "efi" data structure, and the code that parses the System Table to locate addresses to populate that structure with. This patch adds both of these to the global EFI driver code and removes the local definition of the global "efi" data structure from the x86 and ia64 code. Squashed into one big patch to avoid breaking bisection. Signed-off-by:
Leif Lindholm <leif.lindholm@linaro.org> Acked-by:
Tony Luck <tony.luck@intel.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Leif Lindholm authored
early_ioremap() on IA64 chooses its mapping type based on the EFI memory map. This patch adds an alias "early_memremap()" to be used where the targeted location is memory rather than an i/o device. Signed-off-by:
Leif Lindholm <leif.lindholm@linaro.org> Acked-by:
Tony Luck <tony.luck@intel.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
Bojan Prtvar authored
This fixes the following sparse warning drivers/firmware/efi/efivars.c:567:6: warning: symbol 'efivars_sysfs_exit' was not declared. Should it be static? Signed-off-by:
Bojan Prtvar <prtvar.b@gmail.com> Signed-off-by:
Matt Fleming <matt.fleming@intel.com>
-
- 02 Sep, 2013 4 commits
-
-
Linus Torvalds authored
-
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds authored
Pull SCSI fix from James Bottomley: "This is a bug fix for the pm80xx driver. It turns out that when the new hardware support was added in 3.10 the IO command size was kept at the old hard coded value. This means that the driver attaches to some new cards and then simply hangs the system" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] pm80xx: fix Adaptec 71605H hang
-
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipLinus Torvalds authored
Pull x86 boot fix from Peter Anvin: "A single very small boot fix for very large memory systems (> 0.5T)" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Fix boot crash with DEBUG_PAGE_ALLOC=y and more than 512G RAM
-
git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds authored
Pull slave-dma fix from Vinod Koul: "A fix for resolving TI_EDMA driver's build error in allmodconfig to have filter function built in"" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dma/Kconfig: TI_EDMA needs to be boolean
-
- 31 Aug, 2013 2 commits
-
-
git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds authored
Pull networking fixes from David Miller: 1) There was a simplification in the ipv6 ndisc packet sending attempted here, which avoided using memory accounting on the per-netns ndisc socket for sending NDISC packets. It did fix some important issues, but it causes regressions so it gets reverted here too. Specifically, the problem with this change is that the IPV6 output path really depends upon there being a valid skb->sk attached. The reason we want to do this change in some form when we figure out how to do it right, is that if a device goes down the ndisc_sk socket send queue will fill up and block NDISC packets that we want to send to other devices too. That's really bad behavior. Hopefully Thomas can come up with a better version of this change. 2) Fix a severe TCP performance regression by reverting a change made to dev_pick_tx() quite some time ago. From Eric Dumazet. 3) TIPC returns wrongly signed error codes, fix from Erik Hugne. 4) Fix OOPS when doing IPSEC over ipv4 tunnels due to orphaning the skb->sk too early. Fix from Li Hongjun. 5) RAW ipv4 sockets can use the wrong routing key during lookup, from Chris Clark. 6) Similar to #1 revert an older change that tried to use plain alloc_skb() for SYN/ACK TCP packets, this broke the netfilter owner mark which needs to see the skb->sk for such frames. From Phil Oester. 7) BNX2x driver bug fixes from Ariel Elior and Yuval Mintz, specifically in the handling of virtual functions. 8) IPSEC path error propagations to sockets is not done properly when we have v4 in v6, and v6 in v4 type rules. Fix from Hannes Frederic Sowa. 9) Fix missing channel context release in mac80211, from Johannes Berg. 10) Fix network namespace handing wrt. SCM_RIGHTS, from Andy Lutomirski. 11) Fix usage of bogus NAPI weight in jme, netxen, and ps3_gelic drivers. From Michal Schmidt. 12) Hopefully a complete and correct fix for the genetlink dump locking and module reference counting. From Pravin B Shelar. 13) sk_busy_loop() must do a cpu_relax(), from Eliezer Tamir. 14) Fix handling of timestamp offset when restoring a snapshotted TCP socket. From Andrew Vagin. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (44 commits) net: fec: fix time stamping logic after napi conversion net: bridge: convert MLDv2 Query MRC into msecs_to_jiffies for max_delay mISDN: return -EINVAL on error in dsp_control_req() net: revert 8728c544 ("net: dev_pick_tx() fix") Revert "ipv6: Don't depend on per socket memory for neighbour discovery messages" ipv4 tunnels: fix an oops when using ipip/sit with IPsec tipc: set sk_err correctly when connection fails tcp: tcp_make_synack() should use sock_wmalloc bridge: separate querier and query timer into IGMP/IPv4 and MLD/IPv6 ones ipv6: Don't depend on per socket memory for neighbour discovery messages ipv4: sendto/hdrincl: don't use destination address found in header tcp: don't apply tsoffset if rcv_tsecr is zero tcp: initialize rcv_tstamp for restored sockets net: xilinx: fix memleak net: usb: Add HP hs2434 device to ZLP exception table net: add cpu_relax to busy poll loop net: stmmac: fixed the pbl setting with DT genl: Hold reference on correct module while netlink-dump. genl: Fix genl dumpit() locking. xfrm: Fix potential null pointer dereference in xdst_queue_output ...
-
Ian Campbell authored
Filtering capabilities on my work email are pretty much non-existent and this has turned out to be something of a firehose... Cc: Stephen Warren <swarren@wwwdotorg.org> Cc: Rob Herring <rob.herring@calxeda.com> Cc: Olof Johansson <olof@lixom.net> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Ian Campbell <ian.campbell@citrix.com> Acked-by:
Pawel Moll <pawel.moll@arm.com> Acked-by:
Mark Rutland <mark.rutland@arm.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-