summaryrefslogtreecommitdiffstats
path: root/arch/mips64/kernel/head.S
Commit message (Collapse)AuthorAgeFilesLines
* Merge with Linux 2.4.3.Ralf Baechle2001-04-051-2/+0
| | | | | | | Note that mingetty does no longer work with serial console, you have to switch to another getty like getty_ps. This commit also includes a fix for a setitimer bug which did prevent getty_ps from working on older kernels.
* Lots of cleanup from Keith with additional tweaks by me. More toRalf Baechle2001-03-181-0/+6
| | | | come. Stay frightened :-)
* $28 has to be setup before prom_init because smp_processor_id()Ulf Carlsson2000-07-111-4/+4
| | | | is used in __wake_up.
* Merge with 2.4.0-test3-pre4.Ralf Baechle2000-07-081-0/+1
|
* Vmalloc/vfree fixes: use swapper_pg_dir[0] for the vmalloc rangeKanoj Sarcar2000-07-061-0/+1
| | | | | | translations, use a kernel pmd table that points into the kptbl[]. This is to make the generic part of vmalloc()/vfree() find pgd/pmd/pte that it expects.
* Implement a functional vmalloc(). THe vmalloc range address translationsKanoj Sarcar2000-06-301-0/+3
| | | | | | | | are stashed in an array of page tables, starting from kptbl[]. The fast tlbmiss handler quickly checks to see if the faulting address is in the vmalloc range, and if so, it uses the translations in the kptbl to update the tlbs. Still to do: tlb invalid faults in the vmalloc range needs to be handled properly.
* Explain pgd/pmd allocation failure strategies. Create a global bad-pmd-table,Kanoj Sarcar2000-06-271-1/+0
| | | | | | | distinct from invalid-pmd-table for use during pmd allocation failure (so as to differentiate pgd_bad and pgd_none). The bad page table must have invalid pte entries to catch any user references to the range of virtual addresses it covers.
* Fix another minor typo - get the global/special page symbols to pointKanoj Sarcar2000-06-271-1/+1
| | | | to their rightful locations.
* Delete pmd_present/pgd_present. Explain pgd/pmd/pte allocation andKanoj Sarcar2000-06-261-2/+3
| | | | | initialization. Make sure to allocate only one page for the page table (prevent memory leaks), since only one page is freed up.
* Fix typo to make sure the page directory/tables get aligned on to pageKanoj Sarcar2000-06-241-1/+1
| | | | boundaries.
* Fix the code that puts in (possibly different) tlblo0/tlblo1 entriesKanoj Sarcar2000-06-121-3/+5
| | | | for the mapped kernel. Compute the "pfn" field properly.
* Have the slave bootstrap code actually look at the text and data serverKanoj Sarcar2000-06-091-2/+7
| | | | | nasids that the master nasid found for it. Sanitize the replication procedures.
* Each node needs to have a structure that the master nasid fills up toKanoj Sarcar2000-06-091-1/+0
| | | | | tell it where to get the kernel data from (ie, which nasid holds the kernel data). Remove debug cruft from head.S.
* Step one of trying to remove the assumption that nasid 0 is presentKanoj Sarcar2000-06-081-3/+33
| | | | from the mapped kernel code.
* Mapped kernel changes: create elf sections as close as possible toKanoj Sarcar2000-06-081-31/+27
| | | | | IRIX, to get the same kind of loader behavior. Read comments in mapped_kernel.h for more details.
* *** empty log message ***Ralf Baechle2000-06-061-12/+13
|
* MAke sure the mapped kernel does not loose its prom command line.Kanoj Sarcar2000-06-061-1/+0
|
* Entrylo1 must at least be marked global for the tlb entry mapping theKanoj Sarcar2000-06-061-1/+2
| | | | mapped kernel text/data for tlb translation to work properly.
* The tlbwired register is now set up in the head.S code.Kanoj Sarcar2000-06-061-363/+115
|
* Initial rudimentary support for mapped kernel. The kernel text and dataKanoj Sarcar2000-06-061-87/+368
| | | | | | are placed in the cksseg area, and such behavior is tuned thru a make option (off by default). Basis for future kernel text replication and partitioning work/study.
* Fix the address twiddling. For some reason, the code that I was expectingKanoj Sarcar2000-06-051-11/+10
| | | | | was not getting generated (coding problem or cpp/as problem, no point tracking this down).
* We use the ST0_CU0 bit to determine whether we are coming intoKanoj Sarcar2000-04-251-1/+6
| | | | | | | | | | kernel mode for the first time from user mode (on intr/exception/ syscall etc). If so, we need to set the sp to point to the kernel stack. On UP kernels, the kernel stack pointer is stored in the global variable "kernelsp". For SMP kernel, the physical address of the current task structure is stuffed into the watchlo/watchhi registers, so on first entry into the kernel, we need to munge this value properly to setup the sp register.
* Delete unused junk "current_pgd".Kanoj Sarcar2000-04-211-1/+0
|
* Clear the TS bit from the master's status register (don't know whyKanoj Sarcar2000-04-071-1/+6
| | | | | | | | PROM is getting the bit set before entry into kernel). Fix per cpu frequency reporting. Fix bug so that we do not clear information about mips4 availability. Have the slaves flush their cache/tlb and set status based on what the master processor did.
* Make the initial status register setting code for slaves similar to theKanoj Sarcar2000-04-061-16/+19
| | | | master.
* Oops, I had overwritten head.S completely with another C file. Fixing.Kanoj Sarcar2000-04-051-127/+92
|
* Try to launch all the slave cpus in the system. Currently, I _think_Kanoj Sarcar2000-04-051-81/+127
| | | | | | only the slave on the same node as the master gets launched, investigating why the slaves on the other nodes are not ... Slave processors use a static stack surrently while booting up.
* Set ST0_FR the right way.Ralf Baechle2000-03-281-3/+3
|
* Use 16 FP registers as default.Ulf Carlsson2000-03-271-2/+2
|
* The fast tlb handlers [x]tlb_refill_debug blindly look at pgd/pmd/ptes.Kanoj Sarcar2000-03-161-1/+1
| | | | | | | So, _all_ page tables in the system _must_ be 2 pages, including empty_bad_page_table. And, the invalid page table _must_ be initialized to all invalid entries, so that even if the fast handler picks something up from an unallocated pmd/ptetable, the processor takes a mm fault.
* Remove .align 13, it's no longer needed.Ralf Baechle2000-01-251-2/+0
|
* - IOC3 driver now will panic when encountering a RX/TX PCI DMA error.Ralf Baechle2000-01-171-2/+11
| | | | | | | | | - IOC3 driver does no longer use GFP_DMA which given the _very_ small number of available GFP_DMA pages might have deadlocked the system. - First cut of Origin support. Last minute change: Do no longer use ARC memory / MD hub memory configuration information but klconfig.h stuff. Simpler, faster, shorter. - Zillions of MIPS64 fixes.
* Merge with Linux 2.3.21.Ralf Baechle1999-12-041-6/+29
|
* Look ma - a tank has hit the MIPS sources ...Ralf Baechle1999-08-211-0/+55