cregit-Linux how code gets into the kernel

Release 4.14 arch/frv/mm/highmem.c

Directory: arch/frv/mm
/* highmem.c: arch-specific highmem stuff
 *
 * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells (dhowells@redhat.com)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version
 * 2 of the License, or (at your option) any later version.
 */
#include <linux/highmem.h>
#include <linux/module.h>


void *kmap(struct page *page) { might_sleep(); if (!PageHighMem(page)) return page_address(page); return kmap_high(page); }

Contributors

PersonTokensPropCommitsCommitProp
David Howells3088.24%150.00%
Dave Hansen411.76%150.00%
Total34100.00%2100.00%

EXPORT_SYMBOL(kmap);
void kunmap(struct page *page) { if (in_interrupt()) BUG(); if (!PageHighMem(page)) return; kunmap_high(page); }

Contributors

PersonTokensPropCommitsCommitProp
David Howells2887.50%150.00%
Dave Hansen412.50%150.00%
Total32100.00%2100.00%

EXPORT_SYMBOL(kunmap);
void *kmap_atomic(struct page *page) { unsigned long paddr; int type; preempt_disable(); pagefault_disable(); type = kmap_atomic_idx_push(); paddr = page_to_phys(page); switch (type) { /* * The first 4 primary maps are reserved for architecture code */ case 0: return __kmap_atomic_primary(0, paddr, 6); case 1: return __kmap_atomic_primary(0, paddr, 7); case 2: return __kmap_atomic_primary(0, paddr, 8); case 3: return __kmap_atomic_primary(0, paddr, 9); case 4: return __kmap_atomic_primary(0, paddr, 10); case 5 ... 5 + NR_TLB_LINES - 1: return __kmap_atomic_secondary(type - 5, paddr); default: BUG(); return NULL; } }

Contributors

PersonTokensPropCommitsCommitProp
Peter Zijlstra12593.28%125.00%
Américo Wang64.48%250.00%
David Hildenbrand32.24%125.00%
Total134100.00%4100.00%

EXPORT_SYMBOL(kmap_atomic);
void __kunmap_atomic(void *kvaddr) { int type = kmap_atomic_idx(); switch (type) { case 0: __kunmap_atomic_primary(0, 6); break; case 1: __kunmap_atomic_primary(0, 7); break; case 2: __kunmap_atomic_primary(0, 8); break; case 3: __kunmap_atomic_primary(0, 9); break; case 4: __kunmap_atomic_primary(0, 10); break; case 5 ... 5 + NR_TLB_LINES - 1: __kunmap_atomic_secondary(type - 5, kvaddr); break; default: BUG(); } kmap_atomic_idx_pop(); pagefault_enable(); preempt_enable(); }

Contributors

PersonTokensPropCommitsCommitProp
Peter Zijlstra10092.59%250.00%
Américo Wang54.63%125.00%
David Hildenbrand32.78%125.00%
Total108100.00%4100.00%

EXPORT_SYMBOL(__kunmap_atomic);

Overall Contributors

PersonTokensPropCommitsCommitProp
Peter Zijlstra23469.85%225.00%
David Howells7522.39%225.00%
Américo Wang123.58%225.00%
Dave Hansen82.39%112.50%
David Hildenbrand61.79%112.50%
Total335100.00%8100.00%
Directory: arch/frv/mm
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.