Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Each node needs to have a structure that the master nasid fills up to | Kanoj Sarcar | 2000-06-09 | 1 | -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 present | Kanoj Sarcar | 2000-06-08 | 1 | -3/+33 |
| | | | | from the mapped kernel code. | ||||
* | Mapped kernel changes: create elf sections as close as possible to | Kanoj Sarcar | 2000-06-08 | 1 | -31/+27 |
| | | | | | IRIX, to get the same kind of loader behavior. Read comments in mapped_kernel.h for more details. | ||||
* | *** empty log message *** | Ralf Baechle | 2000-06-06 | 1 | -12/+13 |
| | |||||
* | MAke sure the mapped kernel does not loose its prom command line. | Kanoj Sarcar | 2000-06-06 | 1 | -1/+0 |
| | |||||
* | Entrylo1 must at least be marked global for the tlb entry mapping the | Kanoj Sarcar | 2000-06-06 | 1 | -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 Sarcar | 2000-06-06 | 1 | -363/+115 |
| | |||||
* | Initial rudimentary support for mapped kernel. The kernel text and data | Kanoj Sarcar | 2000-06-06 | 1 | -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 expecting | Kanoj Sarcar | 2000-06-05 | 1 | -11/+10 |
| | | | | | was not getting generated (coding problem or cpp/as problem, no point tracking this down). | ||||
* | Set smp_num_cpus in the IP27 specific code. Getting ready to handle | Kanoj Sarcar | 2000-06-02 | 1 | -2/+0 |
| | | | | PROM-disabled cpus. | ||||
* | Now that __kernel_clock_t is 64 bits, we need to make sure we have a | Kanoj Sarcar | 2000-06-01 | 2 | -1/+30 |
| | | | | | | 32 bit version of the sys_times() call (like sparc64, ia64), else the kernel overwrites user space it is not supposed to. Compilations could not be done because of this. | ||||
* | Forgot.. | Ulf Carlsson | 2000-05-30 | 1 | -2/+3 |
| | |||||
* | First cut of TLB handlers in assembler. I'm not using | Ulf Carlsson | 2000-05-25 | 2 | -10/+227 |
| | | | | | | | | | the context register as it should be used, but let's look into that later. If there is a problem with the code it will crash after right after freeing unused kernel memery. I have this code tested on both UP and SMP though. | ||||
* | We have to check for pending signals when we return from do_page_fault to | Ulf Carlsson | 2000-05-20 | 1 | -1/+1 |
| | | | | handle sigbus and sigsegv within a reasonable amount of time. | ||||
* | Call syscall_trace after finishing the sigreturn syscall but before | Ralf Baechle | 2000-05-19 | 2 | -0/+8 |
| | | | | returning from userspace. | ||||
* | Less intrusive workaround for the gas ``-P'' bug. | Ralf Baechle | 2000-05-18 | 1 | -1/+4 |
| | |||||
* | sigset_t fixes and a few new functions.. | Ulf Carlsson | 2000-05-13 | 2 | -26/+206 |
| | |||||
* | sigset_t is only 2 words nowadays | Ulf Carlsson | 2000-05-13 | 1 | -3/+1 |
| | |||||
* | Merge with Linux 2.3.99-pre7 and various other bits. | Ralf Baechle | 2000-05-12 | 1 | -32/+44 |
| | |||||
* | Add sys32_writev and sys32_readv. | Ulf Carlsson | 2000-05-12 | 2 | -3/+154 |
| | |||||
* | SMP FPU management: similar to what sparc does, no lazy fpu context | Kanoj Sarcar | 2000-05-11 | 5 | -15/+36 |
| | | | | | | switching in SMP mode, use PF_USEDFPU to determine whether a program used the fpu in the last time quantum and so needs the fpu context to be saved during context switch. | ||||
* | When last_task_used_math gets the cpu, ST0_CU1 is set during context | Kanoj Sarcar | 2000-05-11 | 3 | -23/+90 |
| | | | | | | | | | | | switch. All other FP programs have ST0_CU1 cleared in their thread_struct, so that they incur faults on first touching the FPU, and are made the FPU owner, aka last_task_used_math. used_math determines whether a thread has used the FPU before; if not, the FPU needs to be initialized before it can own the FPU. Note: a FP program that has already been using the fpu (not neccesarily the owner), must reinit the fpu if it uses the fpu in a signal handler; a sigreturn restores the original context, discarding the context of the handler. | ||||
* | UP FPU state handling fixes: make sure to save the fpu state of the | Kanoj Sarcar | 2000-05-10 | 2 | -1/+5 |
| | | | | | | | last fpu owner before we assign the fpu to a new math task. However is mips/mips64 working with this bug? Fix needs to be ported to 2.2/2.3 mips code. Additionally, the mips64 lazy_fpu_switch code seems to have a ".set reorder" at the wrong place. | ||||
* | *** empty log message *** | Ulf Carlsson | 2000-05-10 | 1 | -2/+0 |
| | |||||
* | Add sys32_nanosleep to get syslogd working. | Ulf Carlsson | 2000-05-10 | 2 | -3/+56 |
| | | | | Add sys32_sched_rr_get_interval while I'm at it. | ||||
* | Bomb little endian compiles for select32, so that the little endian guys | Kanoj Sarcar | 2000-05-08 | 1 | -0/+4 |
| | | | | can look at the issue and develope code appropriately. | ||||
* | Forkdrop IA64 version of sys32_select. Forklift the sparc64 version. | Kanoj Sarcar | 2000-05-07 | 1 | -18/+79 |
| | | | | | When will I learn sparc64 is bigendian like mips64, and ia64 is little endian? | ||||
* | Forklift sys32_select from IA64 code. | Kanoj Sarcar | 2000-05-04 | 2 | -1/+103 |
| | |||||
* | More low level debugging stuff that can be turned on with DEBUG_MIPS64. | Kanoj Sarcar | 2000-05-03 | 2 | -0/+16 |
| | |||||
* | Change the output format of /proc/cpuinfo slightly to report the number | Kanoj Sarcar | 2000-05-02 | 1 | -0/+2 |
| | | | | of cpus. | ||||
* | SMP debugging enhancements. | Kanoj Sarcar | 2000-05-01 | 1 | -2/+3 |
| | |||||
* | Have the slave cpus go into the reschedule loop to pick up tasks and | Kanoj Sarcar | 2000-04-27 | 1 | -1/+1 |
| | | | | execute them. | ||||
* | sigprocmask needs to be 32-bitized. | Kanoj Sarcar | 2000-04-27 | 2 | -1/+20 |
| | |||||
* | Fix the sysentry debugging code: can never do a SAVE_SOME with intrs | Kanoj Sarcar | 2000-04-26 | 1 | -2/+5 |
| | | | | | enabled, that might wipe out the effects of the previous SAVE_SOME done at the beginning of handle_sys. | ||||
* | Make the sysentry debugging code a little more versatile. | Kanoj Sarcar | 2000-04-25 | 1 | -2/+1 |
| | |||||
* | We use the ST0_CU0 bit to determine whether we are coming into | Kanoj Sarcar | 2000-04-25 | 2 | -1/+13 |
| | | | | | | | | | | 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. | ||||
* | scall_64.S: Move to kernel mode and enable intrs properly. | Kanoj Sarcar | 2000-04-23 | 2 | -7/+16 |
| | | | | | | | | r4k_tlb_glue.S: The fast handlers must work with intrs disabled, since we can not risk changes in entryhi/lo/tlbregisters. do_page_fault() _must_ work with intrs enabled, to prevent deadlocks in the intercpu tlbflush code. andes.c/r4xx0.c: Make tlb register accesses conservatively safe from intrs coming in and changing register contents. | ||||
* | Change all instances of __SMP__ to CONFIG_SMP and include | Ralf Baechle | 2000-04-23 | 1 | -1/+3 |
| | | | | <linux/config.h> where necessary. | ||||
* | First cut at intercpu tlb flushing. | Kanoj Sarcar | 2000-04-22 | 1 | -4/+63 |
| | |||||
* | Per cpu tlbpid (asid) management for SMP. The asid cache is now per | Kanoj Sarcar | 2000-04-22 | 1 | -1/+4 |
| | | | | cpu, and stays in cpu_data[]. | ||||
* | Delete unused junk "current_pgd". | Kanoj Sarcar | 2000-04-21 | 2 | -2/+0 |
| | |||||
* | Pause fix for mips64. | Ralf Baechle | 2000-04-19 | 3 | -2/+9 |
| | |||||
* | Intercpu interrupt changes: add in dedicated intr levels for reschedule | Kanoj Sarcar | 2000-04-17 | 1 | -16/+81 |
| | | | | and call function interrupts (tlbflush for later). | ||||
* | Fix this UP/MP microoptimization business with cpu_data[] and | Kanoj Sarcar | 2000-04-08 | 1 | -1/+3 |
| | | | | | boot_cpu_data once and for all. Generic mips64/IP27 code wants to do cpu_data[cpuid] everywhere ... | ||||
* | Fix semaphores in modules. | Ralf Baechle | 2000-04-07 | 1 | -0/+8 |
| | |||||
* | Clear the TS bit from the master's status register (don't know why | Kanoj Sarcar | 2000-04-07 | 2 | -2/+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 the | Kanoj Sarcar | 2000-04-06 | 1 | -16/+19 |
| | | | | master. | ||||
* | Create idle threads for the slave processors and put them in their | Kanoj Sarcar | 2000-04-06 | 1 | -1/+1 |
| | | | | resched loops. | ||||
* | Oops, I had overwritten head.S completely with another C file. Fixing. | Kanoj Sarcar | 2000-04-05 | 1 | -127/+92 |
| | |||||
* | Try to launch all the slave cpus in the system. Currently, I _think_ | Kanoj Sarcar | 2000-04-05 | 2 | -81/+128 |
| | | | | | | 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. |