a new version + a bunch of crap (temp)

This commit is contained in:
2026-02-03 17:15:04 +01:00
parent 92c2963dd6
commit 0dbeb6af86
8 changed files with 2536 additions and 0 deletions

412
log.c.ccomp Normal file
View File

@@ -0,0 +1,412 @@
CCC@sh_log_send_stringSH_STATUS_SUCCESSSH_STATUS_INVALID_PARAMETERsh_tsc_get_kernel_current_tscsh_log_output_source_validreturn SH_STATUSpayloadsh_log_OUTPUT_PAYLOADsh_log_send_payloadstatus
output_sourcesourcesh_log_OUTPUT_SOURCE output_typemessage_pointersh_log_send_uintnsh_status_error mem_stats
SH_NULLPTRsh_log_send_byte sh_log_llog tsc_valuestrsh_log_send_uintn_hexconstcharSH_LOG_SOURCE_TESTsh_uint8kernel_log_levelfractional_part sh_uint64sh_log_send_doubleSH_LOG_CRITICALelseSH_LOG_WARNINGphysical_bitmap_size_pagesphysical_bitmap_size_bytes SH_LOG_DEBUG SH_LOG_ERROR SH_LOG_FATAL integer_partSH_LOG_SERIAL_PORT_COM1 SH_LOG_TESTvaluewhilesh_log_get_log_level
SH_LOG_LOGmemory_total_pagesmemory_total_bytesdoublebufport
hex_digitsdigit sh_uint32 sh_uint16val log_levelvolatile__asm__includestaticinline®../ý/log.h"
®../ý/page.h"
Ü Ý=0;
þ ÿ Ü inb(ø ô) {
Ü ù;
ü û ("inb %1, %0":"=a"(ù):"Nd"(ô));
Å ù;
}
þ ÿ ª outb(ø ô,Ü ù) {
ü û ("outb %0, %1"::"a"(ù),"Nd"(ô));
}
Æ Ô(Ü b) {
í (!(inb(ê+5) & 0x20));
outb(ê,b);
Å Á;
}
Æ À(¾ ×) {
í (*×) {
Ô(*×++);
}
Å Á;
}
Æ Ð(ß n) {
Ú ó[20];
÷ i=0;
” (n==0) {
Ô('0');
Å Á;
}
í (n>0) {
ó[i++]='0'+(n%10);
n/=10;
}
í (i--) {
Ô(ó[i]);
}
Å Á;
}
Æ Ø(ß n) {
Ú ó[16];
÷ i=0;
Ù Ú õ[]="0123456789ABCDEF";
” (n==0) {
Ô('0');
Å Á;
}
í (n>0) {
ó[i++]=õ[n & 0xF];
n>>=4;
}
í (i--) {
Ô(ó[i]);
}
Å Á;
}
Æ à(ò ì) {
” (ì<0) {
Ô('-');
ì=-ì;
}
ß é=(ß)ì;
ò Þ=ì-(ò)é;
Æ Ê=Ð(é);
” (Ê!=Á) Å Ê;
Ê=Ô('.');
” (Ê!=Á) Å Ê;
( i=0;i<6;i++) {
Þ*=10.0;
ß ö=(ß)Þ;
Ê=Ô('0'+(Ü)ö);
” (Ê!=Á) Å Ê;
Þ-=(ò)ö;
}
Å Á;
}
Æ É(È *Ç) {
” (Ç==Ó) {
Å Â;
}
” (!(sh_log_Î_ùid(Ç->Î))) {
Å Â;
}
” (!(Ä(Ç->Ë))) {
Å Â;
}
” (Ç->Ë!=Û && Ç->Î<Ý) {
Å Á;
}
À("[Shelter:");
” (Ç->Ë==SH_LOG_SOURCE_MAIN) {
À("Main@");
} â ” (Ç->Ë==SH_LOG_SOURCE_CONF) {
À("Conf@");
} â ” (Ç->Ë==SH_LOG_SOURCE_PAGE) {
À("Page@");
} â ” (Ç->Ë==SH_LOG_SOURCE_SLAB) {
À("Slab@");
} â ” (Ç->Ë==Û) {
À("Test@");
}
” (Ç->Î==æ) {
À("Debug] ");
} â ” (Ç->Î==ï) {
À("Log] ");
} â ” (Ç->Î==ã) {
À("Warning] ");
} â ” (Ç->Î==ç) {
À("Error] ");
} â ” (Ç->Î==á) {
À("Critical] ");
} â ” (Ç->Î==è) {
À("Fatal] ");
} â ” (Ç->Î==ë) {
À("Test] ");
}
Ð(Ç->Ö);
À(" : ");
À(Ç->Ï);
Å Á;
}
Æ sh_log_load_ú(Ü ú) {
Ý=ú;
Å Á;
}
Ü î() {
Å Ý;
}
Æ sh_log_test(¾ ×) {
” (×==Ó) {
Å Â;
}
È Ç={
.Î=ë,
.Ë=Û,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_debug(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=æ,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_log(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ï,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_warning(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ã,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_error(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ç,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_critical(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=á,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_fatal(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=è,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
À("\n");
Å Á;
}
Æ sh_log_ltest(¾ ×) {
” (×==Ó) {
Å Â;
}
È Ç={
.Î=ë,
.Ë=Û,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_ldebug(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=æ,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ Õ(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ï,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_lwarning(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ã,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_lerror(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=ç,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_lcritical(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=á,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_lfatal(¾ ×,Í Ì) {
” (×==Ó || !(Ä(Ì))) {
Å Â;
}
È Ç={
.Î=è,
.Ë=Ì,
.Ö=Ã(),
.Ï=×
};
Æ Ê=É(&Ç);
” (Ñ(Ê)) {
Å Ê;
}
Å Á;
}
Æ sh_log_Ò(Í Ì) {
sh_page_MEM_STATS Ò;
sh_page_get_memory_stats(&Ò);
” (î()<=1) {
Õ("Total memory installed (bytes) : ",Ì);
Ð(Ò.ñ);
À(" / 0x");
Ø(Ò.ñ);
À("\n");
Õ("Total memory installed (pages) : ",Ì);
Ð(Ò.ð);
À(" / 0x");
Ø(Ò.ð);
À("\n");
Õ("Free memory : ",Ì);
à(Ò.free_ratio*100);
À("%\n");
Õ("Used memory : ",Ì);
à(Ò.used_ratio*100);
À("%\n");
Õ("Free pages : ",Ì);
Ð(Ò.free_pages);
À("\n");
Õ("Used pages : ",Ì);
Ð(Ò.used_pages);
À("\n");
Õ("Largest free block (pages) : ",Ì);
Ð(Ò.largest_free_block);
À("\n");
Õ("Largest used block (pages) : ",Ì);
Ð(Ò.largest_used_block);
À("\n");
Õ("Free block count : ",Ì);
Ð(Ò.free_blocks_count);
À("\n");
Õ("Used block count : ",Ì);
Ð(Ò.used_blocks_count);
À("\n");
Õ("Total memory taken by physical bitmap (bytes) : ",Ì);
Ð(Ò.å);
À(" / 0x");
Ø(Ò.å);
À("\n");
Õ("Total memory taken by physical bitmap (pages) : ",Ì);
Ð(Ò.ä);
À(" / 0x");
Ø(Ò.ä);
À("\n");
}
Å Á;