Changeset 1b20da0 in mainline for kernel/arch/ia32/src
- Timestamp:
- 2018-02-28T17:52:03Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3061bc1
- Parents:
- df6ded8
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:26:03)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:52:03)
- Location:
- kernel/arch/ia32/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/asm.S
rdf6ded8 r1b20da0 139 139 * and without the error word. 140 140 */ 141 #define ISTATE_SOFT_SIZE ISTATE_SIZE - (6 * 4) 141 #define ISTATE_SOFT_SIZE ISTATE_SIZE - (6 * 4) 142 142 143 143 /* … … 329 329 .else 330 330 /* 331 * Interrupt: fake up an error word 331 * Interrupt: fake up an error word 332 332 */ 333 333 subl $(ISTATE_SOFT_SIZE + 4), %esp … … 433 433 434 434 interrupt_handlers: 435 .irp cnt, LIST_0_63 435 .irp cnt, LIST_0_63 436 436 handler \cnt 437 437 .endr -
kernel/arch/ia32/src/atomic.S
rdf6ded8 r1b20da0 34 34 35 35 # 36 # This is a bus-and-hyperthreading-friendly implementation of spinlock 36 # This is a bus-and-hyperthreading-friendly implementation of spinlock 37 37 # 38 38 FUNCTION_BEGIN(spinlock_arch) … … 42 42 movl 12(%esp),%ebx 43 43 44 0: 44 0: 45 45 pause # Pentium 4's with HT love this instruction 46 46 movl (%ebx),%eax -
kernel/arch/ia32/src/context.S
rdf6ded8 r1b20da0 39 39 # 40 40 FUNCTION_BEGIN(context_save_arch) 41 movl 0(%esp), %eax # save pc value into eax 42 movl 4(%esp), %edx # address of the context variable to save context to 41 movl 0(%esp), %eax # save pc value into eax 42 movl 4(%esp), %edx # address of the context variable to save context to 43 43 44 44 # save registers to given structure -
kernel/arch/ia32/src/cpu/cpu.c
rdf6ded8 r1b20da0 72 72 void fpu_disable(void) 73 73 { 74 write_cr0(read_cr0() & ~CR0_TS); 74 write_cr0(read_cr0() & ~CR0_TS); 75 75 } 76 76 77 77 void fpu_enable(void) 78 78 { 79 write_cr0(read_cr0() | CR0_TS); 79 write_cr0(read_cr0() | CR0_TS); 80 80 } 81 81 … … 150 150 void cpu_print_report(cpu_t* cpu) 151 151 { 152 printf("cpu%u: (%s family=%u model=%u stepping=%u apicid=%u) %" PRIu16 152 printf("cpu%u: (%s family=%u model=%u stepping=%u apicid=%u) %" PRIu16 153 153 " MHz\n", cpu->id, vendor_str[cpu->arch.vendor], cpu->arch.family, 154 154 cpu->arch.model, cpu->arch.stepping, cpu->arch.id, cpu->frequency_mhz); -
kernel/arch/ia32/src/smp/ap.S
rdf6ded8 r1b20da0 47 47 KDATA=16 48 48 49 /* 49 /* 50 50 * This piece of code is real-mode and is meant to be aligned at 4K boundary. 51 51 * The requirement for such an alignment comes from MP Specification's -
kernel/arch/ia32/src/smp/smp.c
rdf6ded8 r1b20da0 106 106 107 107 /* 108 * SMP initialized, cpus array allocated. Assign each CPU its 108 * SMP initialized, cpus array allocated. Assign each CPU its 109 109 * physical APIC ID. 110 110 */ -
kernel/arch/ia32/src/vreg.c
rdf6ded8 r1b20da0 75 75 gs_load(GDT_SELECTOR(VREG_DES)); 76 76 77 vreg_ptr = NULL; 77 vreg_ptr = NULL; 78 78 } 79 79
Note:
See TracChangeset
for help on using the changeset viewer.