Remove hang functions

This commit is contained in:
Alex Kotov 2022-01-15 15:42:13 +05:00
parent 00345258e9
commit d1ba80702c
Signed by: kotovalexarian
GPG Key ID: 553C0EBBEB5D5F08
7 changed files with 19 additions and 41 deletions

View File

@ -191,33 +191,28 @@ src/asm/i386.o: file format elf32-i386
Disassembly of section .text:
00000000 <kernaux_asm_i386_hang>:
0: fa cli
1: f4 hlt
2: eb fc jmp 0 <kernaux_asm_i386_hang>
00000000 <kernaux_asm_i386_read_cr0>:
0: 0f 20 c0 mov %cr0,%eax
3: c3 ret
00000004 <kernaux_asm_i386_read_cr0>:
4: 0f 20 c0 mov %cr0,%eax
00000004 <kernaux_asm_i386_read_cr4>:
4: 0f 20 e0 mov %cr4,%eax
7: c3 ret
00000008 <kernaux_asm_i386_read_cr4>:
8: 0f 20 e0 mov %cr4,%eax
b: c3 ret
00000008 <kernaux_asm_i386_write_cr0>:
8: 8b 44 24 04 mov 0x4(%esp),%eax
c: 0f 22 c0 mov %eax,%cr0
f: c3 ret
0000000c <kernaux_asm_i386_write_cr0>:
c: 8b 44 24 04 mov 0x4(%esp),%eax
10: 0f 22 c0 mov %eax,%cr0
13: c3 ret
00000010 <kernaux_asm_i386_write_cr3>:
10: 8b 44 24 04 mov 0x4(%esp),%eax
14: 0f 22 d8 mov %eax,%cr3
17: c3 ret
00000014 <kernaux_asm_i386_write_cr3>:
14: 8b 44 24 04 mov 0x4(%esp),%eax
18: 0f 22 d8 mov %eax,%cr3
1b: c3 ret
0000001c <kernaux_asm_i386_write_cr4>:
1c: 8b 44 24 04 mov 0x4(%esp),%eax
20: 0f 22 e0 mov %eax,%cr4
23: c3 ret
00000018 <kernaux_asm_i386_write_cr4>:
18: 8b 44 24 04 mov 0x4(%esp),%eax
1c: 0f 22 e0 mov %eax,%cr4
1f: c3 ret
```

View File

@ -46,5 +46,5 @@ void poweroff()
void panic(const char *const str)
{
kernaux_console_printf("panic: %s\n", str);
kernaux_asm_i386_hang();
poweroff();
}

View File

@ -46,5 +46,5 @@ void poweroff()
void panic(const char *const str)
{
kernaux_console_printf("panic: %s\n", str);
kernaux_asm_i386_hang();
poweroff();
}

View File

@ -7,8 +7,6 @@ extern "C" {
#include <kernaux/arch/i386.h>
void kernaux_asm_i386_hang() __attribute__((noreturn));
inline static uint8_t kernaux_asm_i386_inportb(uint16_t port);
inline static uint16_t kernaux_asm_i386_inportw(uint16_t port);
inline static uint32_t kernaux_asm_i386_inportd(uint16_t port);

View File

@ -7,8 +7,6 @@ extern "C" {
#include <kernaux/arch/x86_64.h>
void kernaux_asm_x86_64_hang() __attribute__((noreturn));
inline static uint8_t kernaux_asm_x86_64_inportb(uint16_t port);
inline static uint16_t kernaux_asm_x86_64_inportw(uint16_t port);
inline static uint32_t kernaux_asm_x86_64_inportd(uint16_t port);

View File

@ -2,18 +2,12 @@
#include "config.h"
#endif
.global kernaux_asm_i386_hang
.global kernaux_asm_i386_read_cr0
.global kernaux_asm_i386_read_cr4
.global kernaux_asm_i386_write_cr0
.global kernaux_asm_i386_write_cr3
.global kernaux_asm_i386_write_cr4
kernaux_asm_i386_hang:
cli
hlt
jmp kernaux_asm_i386_hang
kernaux_asm_i386_read_cr0:
mov %cr0, %eax
ret

View File

@ -1,10 +1,3 @@
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
.global kernaux_asm_x86_64_hang
kernaux_asm_x86_64_hang:
cli
hlt
jmp kernaux_asm_x86_64_hang