Skip to content

Instantly share code, notes, and snippets.

@0x6D70

0x6D70/log.txt Secret

Created January 8, 2023 20:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 0x6D70/ee07ef562b3adfcc256ce9e79ee319c5 to your computer and use it in GitHub Desktop.
Save 0x6D70/ee07ef562b3adfcc256ce9e79ee319c5 to your computer and use it in GitHub Desktop.
Rust Analyzer Language Server Trace
[Trace - 21:36:43] Sending request 'textDocument/codeLens - (21)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:43] Received response 'textDocument/codeLens - (21)' in 4ms.
Result: []
[Trace - 21:36:45] Sending request 'shutdown - (22)'.
[Trace - 21:36:45] Received response 'shutdown - (22)' in 1ms.
No result returned.
[Trace - 21:36:45] Sending notification 'exit'.
No parameters provided.
[Trace - 21:36:45] Sending request 'initialize - (0)'.
Params: {
"processId": 2436,
"clientInfo": {
"name": "Visual Studio Code",
"version": "1.74.2"
},
"locale": "en-us",
"rootPath": "d:\\code\\rust\\xernel",
"rootUri": "file:///d%3A/code/rust/xernel",
"capabilities": {
"workspace": {
"applyEdit": true,
"workspaceEdit": {
"documentChanges": true,
"resourceOperations": [
"create",
"rename",
"delete"
],
"failureHandling": "textOnlyTransactional",
"normalizesLineEndings": true,
"changeAnnotationSupport": {
"groupsOnLabel": true
}
},
"configuration": true,
"didChangeWatchedFiles": {
"dynamicRegistration": true,
"relativePatternSupport": true
},
"symbol": {
"dynamicRegistration": true,
"symbolKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
"tagSupport": {
"valueSet": [
1
]
},
"resolveSupport": {
"properties": [
"location.range"
]
}
},
"codeLens": {
"refreshSupport": true
},
"executeCommand": {
"dynamicRegistration": true
},
"didChangeConfiguration": {
"dynamicRegistration": true
},
"workspaceFolders": true,
"semanticTokens": {
"refreshSupport": true
},
"fileOperations": {
"dynamicRegistration": true,
"didCreate": true,
"didRename": true,
"didDelete": true,
"willCreate": true,
"willRename": true,
"willDelete": true
},
"inlineValue": {
"refreshSupport": true
},
"inlayHint": {
"refreshSupport": true
},
"diagnostics": {
"refreshSupport": true
}
},
"textDocument": {
"publishDiagnostics": {
"relatedInformation": true,
"versionSupport": false,
"tagSupport": {
"valueSet": [
1,
2
]
},
"codeDescriptionSupport": true,
"dataSupport": true
},
"synchronization": {
"dynamicRegistration": true,
"willSave": true,
"willSaveWaitUntil": true,
"didSave": true
},
"completion": {
"dynamicRegistration": true,
"contextSupport": true,
"completionItem": {
"snippetSupport": true,
"commitCharactersSupport": true,
"documentationFormat": [
"markdown",
"plaintext"
],
"deprecatedSupport": true,
"preselectSupport": true,
"tagSupport": {
"valueSet": [
1
]
},
"insertReplaceSupport": true,
"resolveSupport": {
"properties": [
"documentation",
"detail",
"additionalTextEdits"
]
},
"insertTextModeSupport": {
"valueSet": [
1,
2
]
},
"labelDetailsSupport": true
},
"insertTextMode": 2,
"completionItemKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25
]
},
"completionList": {
"itemDefaults": [
"commitCharacters",
"editRange",
"insertTextFormat",
"insertTextMode"
]
}
},
"hover": {
"dynamicRegistration": true,
"contentFormat": [
"markdown",
"plaintext"
]
},
"signatureHelp": {
"dynamicRegistration": true,
"signatureInformation": {
"documentationFormat": [
"markdown",
"plaintext"
],
"parameterInformation": {
"labelOffsetSupport": true
},
"activeParameterSupport": true
},
"contextSupport": true
},
"definition": {
"dynamicRegistration": true,
"linkSupport": true
},
"references": {
"dynamicRegistration": true
},
"documentHighlight": {
"dynamicRegistration": true
},
"documentSymbol": {
"dynamicRegistration": true,
"symbolKind": {
"valueSet": [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26
]
},
"hierarchicalDocumentSymbolSupport": true,
"tagSupport": {
"valueSet": [
1
]
},
"labelSupport": true
},
"codeAction": {
"dynamicRegistration": true,
"isPreferredSupport": true,
"disabledSupport": true,
"dataSupport": true,
"resolveSupport": {
"properties": [
"edit"
]
},
"codeActionLiteralSupport": {
"codeActionKind": {
"valueSet": [
"",
"quickfix",
"refactor",
"refactor.extract",
"refactor.inline",
"refactor.rewrite",
"source",
"source.organizeImports"
]
}
},
"honorsChangeAnnotations": false
},
"codeLens": {
"dynamicRegistration": true
},
"formatting": {
"dynamicRegistration": true
},
"rangeFormatting": {
"dynamicRegistration": true
},
"onTypeFormatting": {
"dynamicRegistration": true
},
"rename": {
"dynamicRegistration": true,
"prepareSupport": true,
"prepareSupportDefaultBehavior": 1,
"honorsChangeAnnotations": true
},
"documentLink": {
"dynamicRegistration": true,
"tooltipSupport": true
},
"typeDefinition": {
"dynamicRegistration": true,
"linkSupport": true
},
"implementation": {
"dynamicRegistration": true,
"linkSupport": true
},
"colorProvider": {
"dynamicRegistration": true
},
"foldingRange": {
"dynamicRegistration": true,
"rangeLimit": 5000,
"lineFoldingOnly": true,
"foldingRangeKind": {
"valueSet": [
"comment",
"imports",
"region"
]
},
"foldingRange": {
"collapsedText": false
}
},
"declaration": {
"dynamicRegistration": true,
"linkSupport": true
},
"selectionRange": {
"dynamicRegistration": true
},
"callHierarchy": {
"dynamicRegistration": true
},
"semanticTokens": {
"dynamicRegistration": true,
"tokenTypes": [
"namespace",
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember",
"event",
"function",
"method",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp",
"operator",
"decorator"
],
"tokenModifiers": [
"declaration",
"definition",
"readonly",
"static",
"deprecated",
"abstract",
"async",
"modification",
"documentation",
"defaultLibrary"
],
"formats": [
"relative"
],
"requests": {
"range": true,
"full": {
"delta": true
}
},
"multilineTokenSupport": false,
"overlappingTokenSupport": false,
"serverCancelSupport": true,
"augmentsSyntaxTokens": true
},
"linkedEditingRange": {
"dynamicRegistration": true
},
"typeHierarchy": {
"dynamicRegistration": true
},
"inlineValue": {
"dynamicRegistration": true
},
"inlayHint": {
"dynamicRegistration": true,
"resolveSupport": {
"properties": [
"tooltip",
"textEdits",
"label.tooltip",
"label.location",
"label.command"
]
}
},
"diagnostic": {
"dynamicRegistration": true,
"relatedDocumentSupport": false
}
},
"window": {
"showMessage": {
"messageActionItem": {
"additionalPropertiesSupport": true
}
},
"showDocument": {
"support": true
},
"workDoneProgress": true
},
"general": {
"staleRequestSupport": {
"cancel": true,
"retryOnContentModified": [
"textDocument/semanticTokens/full",
"textDocument/semanticTokens/range",
"textDocument/semanticTokens/full/delta"
]
},
"regularExpressions": {
"engine": "ECMAScript",
"version": "ES2020"
},
"markdown": {
"parser": "marked",
"version": "1.1.0",
"allowedTags": [
"ul",
"li",
"p",
"code",
"blockquote",
"ol",
"h1",
"h2",
"h3",
"h4",
"h5",
"h6",
"hr",
"em",
"pre",
"table",
"thead",
"tbody",
"tr",
"th",
"td",
"div",
"del",
"a",
"strong",
"br",
"img",
"span"
]
},
"positionEncodings": [
"utf-16"
]
},
"notebookDocument": {
"synchronization": {
"dynamicRegistration": true,
"executionSummarySupport": true
}
},
"experimental": {
"snippetTextEdit": true,
"codeActionGroup": true,
"hoverActions": true,
"serverStatusNotification": true,
"commands": {
"commands": [
"rust-analyzer.runSingle",
"rust-analyzer.debugSingle",
"rust-analyzer.showReferences",
"rust-analyzer.gotoLocation",
"editor.action.triggerParameterHints"
]
}
}
},
"initializationOptions": {
"has": null,
"get": null,
"update": null,
"inspect": null,
"cargoRunner": null,
"runnableEnv": null,
"server": {
"path": null,
"extraEnv": {
"RA_LOG": "project_model=debug"
}
},
"trace": {
"server": "verbose",
"extension": false
},
"debug": {
"engine": "auto",
"sourceFileMap": {
"/rustc/<id>": "${env:USERPROFILE}/.rustup/toolchains/<toolchain-id>/lib/rustlib/src/rust"
},
"openDebugPane": false,
"engineSettings": {}
},
"restartServerOnConfigChange": false,
"typing": {
"continueCommentsOnNewline": true,
"autoClosingAngleBrackets": {
"enable": false
}
},
"diagnostics": {
"previewRustcOutput": false,
"disabled": [],
"enable": true,
"experimental": {
"enable": false
},
"remapPrefix": {},
"warningsAsHint": [],
"warningsAsInfo": []
},
"assist": {
"emitMustUse": false,
"expressionFillDefault": "todo"
},
"cachePriming": {
"enable": true,
"numThreads": 0
},
"cargo": {
"autoreload": true,
"buildScripts": {
"enable": true,
"invocationLocation": "workspace",
"invocationStrategy": "per_workspace",
"overrideCommand": null,
"useRustcWrapper": true
},
"extraEnv": {},
"features": [],
"noDefaultFeatures": false,
"sysroot": "discover",
"target": null,
"unsetTest": [
"core"
],
"allFeatures": true
},
"checkOnSave": {
"allTargets": false,
"command": "check",
"enable": true,
"extraArgs": [
"--target",
"x86_64-unknown-none",
"--target-dir",
"target/rust-analyzer"
],
"extraEnv": {},
"features": null,
"invocationLocation": "workspace",
"invocationStrategy": "per_workspace",
"noDefaultFeatures": null,
"overrideCommand": null,
"target": null
},
"completion": {
"autoimport": {
"enable": true
},
"autoself": {
"enable": true
},
"callable": {
"snippets": "fill_arguments"
},
"postfix": {
"enable": true
},
"privateEditable": {
"enable": false
},
"snippets": {
"custom": {
"Arc::new": {
"postfix": "arc",
"body": "Arc::new(${receiver})",
"requires": "std::sync::Arc",
"description": "Put the expression into an `Arc`",
"scope": "expr"
},
"Rc::new": {
"postfix": "rc",
"body": "Rc::new(${receiver})",
"requires": "std::rc::Rc",
"description": "Put the expression into an `Rc`",
"scope": "expr"
},
"Box::pin": {
"postfix": "pinbox",
"body": "Box::pin(${receiver})",
"requires": "std::boxed::Box",
"description": "Put the expression into a pinned `Box`",
"scope": "expr"
},
"Ok": {
"postfix": "ok",
"body": "Ok(${receiver})",
"description": "Wrap the expression in a `Result::Ok`",
"scope": "expr"
},
"Err": {
"postfix": "err",
"body": "Err(${receiver})",
"description": "Wrap the expression in a `Result::Err`",
"scope": "expr"
},
"Some": {
"postfix": "some",
"body": "Some(${receiver})",
"description": "Wrap the expression in an `Option::Some`",
"scope": "expr"
}
}
}
},
"files": {
"excludeDirs": [],
"watcher": "client"
},
"highlightRelated": {
"breakPoints": {
"enable": true
},
"exitPoints": {
"enable": true
},
"references": {
"enable": true
},
"yieldPoints": {
"enable": true
}
},
"hover": {
"actions": {
"debug": {
"enable": true
},
"enable": true,
"gotoTypeDef": {
"enable": true
},
"implementations": {
"enable": true
},
"references": {
"enable": false
},
"run": {
"enable": true
}
},
"documentation": {
"enable": true,
"keywords": {
"enable": true
}
},
"links": {
"enable": true
}
},
"imports": {
"granularity": {
"enforce": false,
"group": "crate"
},
"group": {
"enable": true
},
"merge": {
"glob": true
},
"prefer": {
"no": {
"std": false
}
},
"prefix": "plain"
},
"inlayHints": {
"bindingModeHints": {
"enable": false
},
"chainingHints": {
"enable": true
},
"closingBraceHints": {
"enable": true,
"minLines": 25
},
"closureReturnTypeHints": {
"enable": "never"
},
"expressionAdjustmentHints": {
"enable": "never",
"hideOutsideUnsafe": false
},
"lifetimeElisionHints": {
"enable": "never",
"useParameterNames": false
},
"locationLinks": true,
"maxLength": 25,
"parameterHints": {
"enable": true
},
"reborrowHints": {
"enable": "never"
},
"renderColons": true,
"typeHints": {
"enable": true,
"hideClosureInitialization": false,
"hideNamedConstructor": false
}
},
"joinLines": {
"joinAssignments": true,
"joinElseIf": true,
"removeTrailingComma": true,
"unwrapTrivialBlock": true
},
"lens": {
"debug": {
"enable": true
},
"enable": true,
"forceCustomCommands": true,
"implementations": {
"enable": true
},
"location": "above_name",
"references": {
"adt": {
"enable": false
},
"enumVariant": {
"enable": false
},
"method": {
"enable": false
},
"trait": {
"enable": false
}
},
"run": {
"enable": true
}
},
"linkedProjects": [],
"lru": {
"capacity": null
},
"notifications": {
"cargoTomlNotFound": true
},
"procMacro": {
"attributes": {
"enable": true
},
"enable": true,
"ignored": {},
"server": null
},
"references": {
"excludeImports": false
},
"runnables": {
"command": null,
"extraArgs": []
},
"rustc": {
"source": null
},
"rustfmt": {
"extraArgs": [],
"overrideCommand": null,
"rangeFormatting": {
"enable": false
}
},
"semanticHighlighting": {
"doc": {
"comment": {
"inject": {
"enable": true
}
}
},
"operator": {
"enable": true,
"specialization": {
"enable": false
}
},
"punctuation": {
"enable": false,
"separate": {
"macro": {
"bang": false
}
},
"specialization": {
"enable": false
}
},
"strings": {
"enable": true
}
},
"signatureInfo": {
"detail": "full",
"documentation": {
"enable": true
}
},
"workspace": {
"symbol": {
"search": {
"kind": "only_types",
"limit": 128,
"scope": "workspace"
}
}
}
},
"trace": "verbose",
"workspaceFolders": [
{
"uri": "file:///d%3A/code/rust/xernel",
"name": "xernel"
}
]
}
[Trace - 21:36:45] Received response 'initialize - (0)' in 32ms.
Result: {
"capabilities": {
"textDocumentSync": {
"openClose": true,
"change": 2,
"save": {}
},
"selectionRangeProvider": true,
"hoverProvider": true,
"completionProvider": {
"resolveProvider": true,
"triggerCharacters": [
":",
".",
"'",
"("
],
"completionItem": {
"labelDetailsSupport": true
}
},
"signatureHelpProvider": {
"triggerCharacters": [
"(",
",",
"<"
]
},
"definitionProvider": true,
"typeDefinitionProvider": true,
"implementationProvider": true,
"referencesProvider": true,
"documentHighlightProvider": true,
"documentSymbolProvider": true,
"workspaceSymbolProvider": true,
"codeActionProvider": {
"codeActionKinds": [
"",
"quickfix",
"refactor",
"refactor.extract",
"refactor.inline",
"refactor.rewrite"
],
"resolveProvider": true
},
"codeLensProvider": {
"resolveProvider": true
},
"documentFormattingProvider": true,
"documentRangeFormattingProvider": false,
"documentOnTypeFormattingProvider": {
"firstTriggerCharacter": "=",
"moreTriggerCharacter": [
".",
">",
"{",
"<"
]
},
"renameProvider": {
"prepareProvider": true
},
"foldingRangeProvider": true,
"declarationProvider": true,
"workspace": {
"fileOperations": {
"willRename": {
"filters": [
{
"scheme": "file",
"pattern": {
"glob": "**/*.rs",
"matches": "file"
}
},
{
"scheme": "file",
"pattern": {
"glob": "**",
"matches": "folder"
}
}
]
}
}
},
"callHierarchyProvider": true,
"semanticTokensProvider": {
"legend": {
"tokenTypes": [
"comment",
"decorator",
"enumMember",
"enum",
"function",
"interface",
"keyword",
"macro",
"method",
"namespace",
"number",
"operator",
"parameter",
"property",
"string",
"struct",
"typeParameter",
"variable",
"angle",
"arithmetic",
"attribute",
"attributeBracket",
"bitwise",
"boolean",
"brace",
"bracket",
"builtinAttribute",
"builtinType",
"character",
"colon",
"comma",
"comparison",
"constParameter",
"derive",
"deriveHelper",
"dot",
"escapeSequence",
"formatSpecifier",
"generic",
"label",
"lifetime",
"logical",
"macroBang",
"parenthesis",
"punctuation",
"selfKeyword",
"selfTypeKeyword",
"semicolon",
"typeAlias",
"toolModule",
"union",
"unresolvedReference"
],
"tokenModifiers": [
"documentation",
"declaration",
"static",
"defaultLibrary",
"async",
"attribute",
"callable",
"constant",
"consuming",
"controlFlow",
"crateRoot",
"injected",
"intraDocLink",
"library",
"mutable",
"public",
"reference",
"trait",
"unsafe"
]
},
"range": true,
"full": {
"delta": true
}
},
"inlayHintProvider": {
"resolveProvider": true
},
"experimental": {
"externalDocs": true,
"hoverRange": true,
"joinLines": true,
"matchingBrace": true,
"moveItem": true,
"onEnter": true,
"openCargoToml": true,
"parentModule": true,
"runnables": {
"kinds": [
"cargo"
]
},
"ssr": true,
"workspaceSymbolScopeKindFiltering": true
}
},
"serverInfo": {
"name": "rust-analyzer",
"version": "0.3.1348-standalone (643bc02de 2023-01-01)"
}
}
[Trace - 21:36:45] Sending notification 'initialized'.
Params: {}
[Trace - 21:36:45] Sending notification 'textDocument/didOpen'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/sched/scheduler.rs",
"languageId": "rust",
"version": 1,
"text": "use crate::arch::x64::gdt::GDT_BSP;\nuse crate::sched::context::restore_context;\nuse crate::{arch::x64::apic::APIC, Task};\nuse alloc::collections::VecDeque;\nuse core::arch::asm;\nuse libxernel::sync::SpinlockIRQ;\nuse x86_64::registers::control::Cr3;\nuse x86_64::registers::model_specific::KernelGsBase;\nuse x86_64::registers::segmentation::{Segment, DS};\nuse x86_64::structures::idt::InterruptStackFrame;\nuse x86_64::VirtAddr;\n\nuse super::context::TaskContext;\nuse super::task::TaskStatus;\n\npub struct Scheduler {\n pub tasks: VecDeque<Task>,\n}\n\nlazy_static! {\n pub static ref SCHEDULER: SpinlockIRQ<Scheduler> = SpinlockIRQ::new(Scheduler::new());\n}\n\nimpl Scheduler {\n pub fn new() -> Self {\n Self {\n tasks: VecDeque::new(),\n }\n }\n\n pub fn add_task(&mut self, new_task: Task) {\n self.tasks.push_back(new_task);\n }\n\n pub fn schedule_task() {}\n\n pub fn schedule_next_task() {}\n\n pub fn save_ctx(&mut self, ctx: TaskContext) {\n let task = self.tasks.get_mut(0).unwrap();\n task.context = ctx;\n }\n\n pub fn get_next_task(&mut self) -> &mut Task {\n let old_task = self.tasks.pop_front().unwrap();\n\n self.tasks.push_back(old_task);\n\n let t = self.tasks.front_mut().unwrap();\n\n t\n }\n\n pub fn set_current_task_status(&mut self, status: TaskStatus) {\n let task = self.tasks.front_mut().unwrap();\n task.status = status;\n }\n\n pub fn current_task(&mut self) -> &mut Task {\n self.tasks.front_mut().unwrap()\n }\n}\n\n#[naked]\npub extern \"C\" fn scheduler_irq_handler(_stack_frame: InterruptStackFrame) {\n unsafe {\n asm!(\n \"push r15;\n push r14; \n push r13;\n push r12;\n push r11;\n push r10;\n push r9;\n push r8;\n push rdi;\n push rsi;\n push rdx;\n push rcx;\n push rbx;\n push rax;\n push rbp;\n call schedule_handle\",\n options(noreturn)\n );\n }\n}\n\n// TODO: Schedule on multiple cores if multiple cores are started up\n#[no_mangle]\npub extern \"sysv64\" fn schedule_handle(ctx: TaskContext) {\n let mut sched = SCHEDULER.lock();\n sched.save_ctx(ctx);\n\n sched.set_current_task_status(TaskStatus::Waiting);\n\n let task = sched.get_next_task();\n\n task.status = TaskStatus::Running;\n\n if !task.is_kernel_task() {\n unsafe {\n // SAFETY: a user task always has a page table\n let pt = task.get_page_table().unwrap();\n\n let cr3 = Cr3::read_raw();\n let cr3 = cr3.0.start_address().as_u64() | cr3.1 as u64;\n\n // Only reload the page table if it's different to avoid unnecessary TLB flushes\n if cr3 != pt.pml4().as_u64() {\n pt.load_pt();\n }\n\n DS::set_reg(GDT_BSP.1.user_data_selector);\n\n let base = &**task.kernel_stack.as_ref().unwrap() as *const _ as u64;\n KernelGsBase::write(VirtAddr::new(base));\n }\n }\n\n let context = task.context.clone();\n\n APIC.eoi();\n APIC.create_oneshot_timer(0x40, task.priority.ms() * 1000);\n\n SpinlockIRQ::unlock(sched);\n\n restore_context(&context);\n}\n"
}
}
[Trace - 21:36:45] Sending notification 'textDocument/didOpen'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs",
"languageId": "rust",
"version": 1,
"text": "#![no_std]\n#![no_main]\n#![feature(abi_x86_interrupt)]\n#![feature(core_intrinsics)]\n#![feature(alloc_error_handler)]\n#![feature(pointer_byte_offsets)]\n#![feature(naked_functions)]\n#![feature(exclusive_range_pattern)]\n#![feature(const_btree_new)]\n#![allow(dead_code)]\n#![allow(clippy::fn_to_numeric_cast)]\nextern crate alloc;\n\n#[macro_use]\nextern crate lazy_static;\n\nmod acpi;\nmod allocator;\nmod arch;\nmod backtrace;\nmod drivers;\nmod framebuffer;\nmod fs;\nmod limine_module;\nmod sched;\nmod syscall;\n\n#[macro_use]\nmod logger;\nmod mem;\n\n#[macro_use]\nmod writer;\n\nuse alloc::string::ToString;\nuse core::arch::asm;\nuse core::panic::PanicInfo;\nuse limine::*;\nuse x86_64::instructions::interrupts;\n\nuse arch::x64::gdt;\nuse arch::x64::idt;\n\nuse mem::{heap, pmm, vmm};\nuse x86_64::structures::paging::Page;\nuse x86_64::structures::paging::PageTableFlags;\nuse x86_64::structures::paging::Size2MiB;\nuse x86_64::VirtAddr;\n\nuse crate::acpi::hpet;\nuse crate::arch::x64::apic;\nuse crate::fs::vfs;\nuse crate::fs::vfs::VFS;\nuse crate::mem::pmm::FRAME_ALLOCATOR;\nuse crate::mem::vmm::KERNEL_PAGE_MAPPER;\nuse crate::sched::scheduler::SCHEDULER;\nuse crate::sched::task::Task;\n\nstatic BOOTLOADER_INFO: LimineBootInfoRequest = LimineBootInfoRequest::new(0);\nstatic SMP_REQUEST: LimineSmpRequest = LimineSmpRequest::new(0);\n\n#[panic_handler]\nfn panic(info: &PanicInfo) -> ! {\n // print the panic info\n // NOTE: this might panic again, but it is better than printing nothing\n error!(\"Kernel PANIC !!!\");\n error!(\"panic info: {:#?}\", info);\n loop {}\n}\n\n// define the kernel's entry point function\n#[no_mangle]\nextern \"C\" fn kernel_main() -> ! {\n framebuffer::show_start_image();\n\n gdt::init();\n info!(\"GDT loaded\");\n idt::init();\n info!(\"IDT loaded\");\n idt::disable_pic();\n\n pmm::init();\n info!(\"pm initialized\");\n\n vmm::init();\n info!(\"vm initialized\");\n\n heap::init();\n info!(\"heap initialized\");\n\n acpi::init();\n info!(\"acpi initialized\");\n\n backtrace::init();\n info!(\"backtrace initialized\");\n\n hpet::init();\n\n apic::init();\n\n syscall::init();\n\n vfs::init();\n\n let mut vfs = VFS.lock();\n\n vfs.vn_open(\"/test.txt\".to_string(), 12);\n\n vfs.vn_read(\"/test.txt\".to_string());\n\n let bootloader_info = BOOTLOADER_INFO\n .get_response()\n .get()\n .expect(\"barebones: recieved no bootloader info\");\n\n info!(\n \"bootloader: (name={:?}, version={:?})\",\n bootloader_info.name.to_str().unwrap(),\n bootloader_info.version.to_str().unwrap()\n );\n\n let user_task = Task::new_user_task(VirtAddr::new(0x200000));\n\n let page = FRAME_ALLOCATOR.lock().allocate_frame::<Size2MiB>().unwrap();\n KERNEL_PAGE_MAPPER.lock().map(\n page,\n Page::from_start_address(VirtAddr::new(0x200000)).unwrap(),\n PageTableFlags::WRITABLE | PageTableFlags::USER_ACCESSIBLE | PageTableFlags::PRESENT,\n true,\n );\n user_task.get_page_table().unwrap().map(\n page,\n Page::from_start_address(VirtAddr::new(0x200000)).unwrap(),\n PageTableFlags::WRITABLE | PageTableFlags::USER_ACCESSIBLE | PageTableFlags::PRESENT,\n true,\n );\n\n unsafe {\n let start_address_fn = test_userspace_fn as usize;\n\n // the `test_userspace_fn` is very small and should fit in 512 bytes\n for i in 0..512 {\n let ptr = (0x200000 + i) as *mut u8;\n let val = (start_address_fn + i) as *mut u8;\n\n ptr.write_volatile(val.read_volatile());\n }\n }\n\n let main_task = Task::new_kernel_task(VirtAddr::new(0));\n\n let kernel_task = Task::kernel_task_from_fn(task1);\n\n let kernel_task2 = Task::kernel_task_from_fn(task2);\n\n SCHEDULER.lock().add_task(main_task);\n //SCHEDULER.lock().add_task(user_task);\n SCHEDULER.lock().add_task(kernel_task);\n SCHEDULER.lock().add_task(kernel_task2);\n\n interrupts::enable();\n\n let smp_response = SMP_REQUEST.get_response().get_mut().unwrap();\n\n let bsp_lapic_id = smp_response.bsp_lapic_id;\n\n for cpu in smp_response.cpus().iter_mut() {\n if cpu.lapic_id != bsp_lapic_id {\n cpu.goto_address = arch::x64::x86_64_ap_main;\n }\n }\n\n let mut var = 1;\n\n loop {\n for _ in 0..i16::MAX {\n unsafe {\n asm!(\"nop\");\n }\n }\n\n dbg!(\"hello from main {}\", var);\n var += 1;\n }\n}\n\npub extern \"C\" fn test_userspace_fn() {\n loop {\n unsafe {\n asm!(\n \"\\\n mov rax, 0\n mov rdi, 2\n mov rsi, 3\n mov rdx, 4\n syscall\n \"\n );\n }\n }\n}\n\n#[no_mangle]\nfn task1() {\n let mut var = 1;\n\n loop {\n for _ in 0..i16::MAX {\n unsafe {\n asm!(\"nop\");\n }\n }\n\n dbg!(\"hello from task1 {}\", var);\n var += 1;\n }\n}\n\nfn task2() {\n let mut var = -1;\n\n loop {\n for _ in 0..i16::MAX {\n unsafe {\n asm!(\"nop\");\n }\n }\n\n dbg!(\"hello from task2 {}\", var);\n var -= 1;\n }\n}\n"
}
}
[Trace - 21:36:45] Received request 'client/registerCapability - (0)'.
Params: {
"registrations": [
{
"id": "textDocument/didSave",
"method": "textDocument/didSave",
"registerOptions": {
"includeText": false,
"documentSelector": [
{
"pattern": "**/*.rs"
},
{
"pattern": "**/Cargo.toml"
},
{
"pattern": "**/Cargo.lock"
}
]
}
}
]
}
[Trace - 21:36:45] Sending response 'client/registerCapability - (0)'. Processing request took 0ms
No result returned.
[Trace - 21:36:45] Received request 'window/workDoneProgress/create - (1)'.
Params: {
"token": "rustAnalyzer/Fetching"
}
[Trace - 21:36:45] Sending response 'window/workDoneProgress/create - (1)'. Processing request took 0ms
No result returned.
[Trace - 21:36:45] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "begin",
"title": "Fetching",
"cancellable": false
}
}
[Trace - 21:36:45] Received notification 'experimental/serverStatus'.
Params: {
"health": "ok",
"quiescent": false,
"message": null
}
[Trace - 21:36:45] Sending request 'textDocument/documentSymbol - (1)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:45] Received response 'textDocument/documentSymbol - (1)' in 0ms. Request failed: waiting for cargo metadata or cargo check (-32801).
[Trace - 21:36:45] Sending request 'textDocument/inlayHint - (2)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
},
"range": {
"start": {
"line": 50,
"character": 0
},
"end": {
"line": 165,
"character": 0
}
}
}
[Trace - 21:36:45] Received response 'textDocument/inlayHint - (2)' in 2ms. Request failed: waiting for cargo metadata or cargo check (-32801).
[Trace - 21:36:45] Sending request 'textDocument/foldingRange - (3)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:45] Received response 'textDocument/foldingRange - (3)' in 0ms. Request failed: waiting for cargo metadata or cargo check (-32801).
[Trace - 21:36:45] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "report",
"cancellable": false,
"message": "metadata"
}
}
[Trace - 21:36:45] Sending request 'textDocument/codeLens - (4)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:45] Received response 'textDocument/codeLens - (4)' in 1ms. Request failed: waiting for cargo metadata or cargo check (-32801).
[Trace - 21:36:46] Received request 'client/registerCapability - (2)'.
Params: {
"registrations": [
{
"id": "workspace/didChangeWatchedFiles",
"method": "workspace/didChangeWatchedFiles",
"registerOptions": {
"watchers": [
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/*.rs"
},
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/Cargo.toml"
},
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/Cargo.lock"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/*.rs"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/Cargo.toml"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/Cargo.lock"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/*.rs"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/Cargo.toml"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/Cargo.lock"
}
]
}
}
]
}
[Trace - 21:36:46] Sending response 'client/registerCapability - (2)'. Processing request took 1ms
No result returned.
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "end"
}
}
[Trace - 21:36:46] Received request 'window/workDoneProgress/create - (3)'.
Params: {
"token": "rustAnalyzer/Roots Scanned"
}
[Trace - 21:36:46] Sending response 'window/workDoneProgress/create - (3)'. Processing request took 0ms
No result returned.
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "begin",
"title": "Roots Scanned",
"cancellable": false,
"message": "0/27",
"percentage": 0
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "1/27",
"percentage": 3
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "2/27",
"percentage": 7
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "3/27",
"percentage": 11
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "4/27",
"percentage": 14
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "5/27",
"percentage": 18
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "6/27",
"percentage": 22
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "7/27",
"percentage": 25
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "8/27",
"percentage": 29
}
}
[Trace - 21:36:46] Received request 'window/workDoneProgress/create - (4)'.
Params: {
"token": "rustAnalyzer/Fetching"
}
[Trace - 21:36:46] Sending response 'window/workDoneProgress/create - (4)'. Processing request took 0ms
No result returned.
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "begin",
"title": "Fetching",
"cancellable": false
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "9/27",
"percentage": 33
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "10/27",
"percentage": 37
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "11/27",
"percentage": 40
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "12/27",
"percentage": 44
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "13/27",
"percentage": 48
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "14/27",
"percentage": 51
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "15/27",
"percentage": 55
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "16/27",
"percentage": 59
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "17/27",
"percentage": 62
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "18/27",
"percentage": 66
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "19/27",
"percentage": 70
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "20/27",
"percentage": 74
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "21/27",
"percentage": 77
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "22/27",
"percentage": 81
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "23/27",
"percentage": 85
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "24/27",
"percentage": 88
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "25/27",
"percentage": 92
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "26/27",
"percentage": 96
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "end",
"message": "27/27"
}
}
[Trace - 21:36:46] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "report",
"cancellable": false,
"message": "metadata"
}
}
[Trace - 21:36:47] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "end"
}
}
[Trace - 21:36:47] Received request 'workspace/semanticTokens/refresh - (5)'.
[Trace - 21:36:47] Sending response 'workspace/semanticTokens/refresh - (5)'. Processing request took 0ms
No result returned.
[Trace - 21:36:47] Received request 'workspace/codeLens/refresh - (6)'.
[Trace - 21:36:47] Sending response 'workspace/codeLens/refresh - (6)'. Processing request took 0ms
No result returned.
[Trace - 21:36:47] Received request 'window/workDoneProgress/create - (7)'.
Params: {
"token": "rustAnalyzer/Fetching"
}
[Trace - 21:36:47] Sending response 'window/workDoneProgress/create - (7)'. Processing request took 0ms
No result returned.
[Trace - 21:36:47] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "begin",
"title": "Fetching",
"cancellable": false
}
}
[Trace - 21:36:47] Sending request 'textDocument/codeLens - (5)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:47] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "report",
"cancellable": false,
"message": "metadata"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Fetching",
"value": {
"kind": "end"
}
}
[Trace - 21:36:48] Received request 'workspace/semanticTokens/refresh - (8)'.
[Trace - 21:36:48] Sending response 'workspace/semanticTokens/refresh - (8)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received request 'workspace/codeLens/refresh - (9)'.
[Trace - 21:36:48] Sending response 'workspace/codeLens/refresh - (9)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received request 'window/workDoneProgress/create - (10)'.
Params: {
"token": "rustAnalyzer/Loading"
}
[Trace - 21:36:48] Sending response 'window/workDoneProgress/create - (10)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "begin",
"title": "Loading",
"cancellable": false
}
}
[Trace - 21:36:48] Sending notification '$/cancelRequest'.
Params: {
"id": 5
}
[Trace - 21:36:48] Sending request 'textDocument/codeLens - (6)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:48] Received response 'textDocument/codeLens - (5)' in 814ms. Request failed: canceled by client (-32800).
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: autocfg"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: lock_api"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: log"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: cfg-if"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: rustversion"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: scopeguard"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: bit_field"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: anyhow"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: volatile"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "running build-script: log"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "running build-script: lock_api"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "running build-script: rustversion"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "running build-script: anyhow"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: spin"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xshell-macros"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: bitflags"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: pico-args"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: log"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: lock_api"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: rustversion"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xshell"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: lazy_static"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: anyhow"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: wsl"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: limine"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: rsdp"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: spinning_top"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: x86_64"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: libxernel"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: dotenv"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: libxernel"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: acpi"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: linked_list_allocator"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xtask"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xtask"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xernel"
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "report",
"cancellable": false,
"message": "building proc-macros: xernel"
}
}
[Trace - 21:36:48] Received request 'client/registerCapability - (11)'.
Params: {
"registrations": [
{
"id": "workspace/didChangeWatchedFiles",
"method": "workspace/didChangeWatchedFiles",
"registerOptions": {
"watchers": [
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/*.rs"
},
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/Cargo.toml"
},
{
"globPattern": "D:\\code\\rust\\xernel\\crates\\libxernel/**/Cargo.lock"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/*.rs"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/Cargo.toml"
},
{
"globPattern": "d:\\code\\rust\\xernel\\xernel\\kernel/**/Cargo.lock"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/*.rs"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/Cargo.toml"
},
{
"globPattern": "d:\\code\\rust\\xernel\\build\\xtask/**/Cargo.lock"
}
]
}
}
]
}
[Trace - 21:36:48] Sending response 'client/registerCapability - (11)'. Processing request took 1ms
No result returned.
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Loading",
"value": {
"kind": "end"
}
}
[Trace - 21:36:48] Received request 'window/workDoneProgress/create - (12)'.
Params: {
"token": "rustAnalyzer/Roots Scanned"
}
[Trace - 21:36:48] Sending response 'window/workDoneProgress/create - (12)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "begin",
"title": "Roots Scanned",
"cancellable": false,
"message": "0/27",
"percentage": 0
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "1/27",
"percentage": 3
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "2/27",
"percentage": 7
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "3/27",
"percentage": 11
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "4/27",
"percentage": 14
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "5/27",
"percentage": 18
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "6/27",
"percentage": 22
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "7/27",
"percentage": 25
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "8/27",
"percentage": 29
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "9/27",
"percentage": 33
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "10/27",
"percentage": 37
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "11/27",
"percentage": 40
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "12/27",
"percentage": 44
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "13/27",
"percentage": 48
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "14/27",
"percentage": 51
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "15/27",
"percentage": 55
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "16/27",
"percentage": 59
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "17/27",
"percentage": 62
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "18/27",
"percentage": 66
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "19/27",
"percentage": 70
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "20/27",
"percentage": 74
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "21/27",
"percentage": 77
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "22/27",
"percentage": 81
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "23/27",
"percentage": 85
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "24/27",
"percentage": 88
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "25/27",
"percentage": 92
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "report",
"cancellable": false,
"message": "26/27",
"percentage": 96
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Roots Scanned",
"value": {
"kind": "end",
"message": "27/27"
}
}
[Trace - 21:36:48] Received request 'workspace/semanticTokens/refresh - (13)'.
[Trace - 21:36:48] Sending response 'workspace/semanticTokens/refresh - (13)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received request 'workspace/codeLens/refresh - (14)'.
[Trace - 21:36:48] Sending response 'workspace/codeLens/refresh - (14)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received notification 'experimental/serverStatus'.
Params: {
"health": "ok",
"quiescent": true,
"message": null
}
[Trace - 21:36:48] Received request 'window/workDoneProgress/create - (15)'.
Params: {
"token": "rustAnalyzer/Indexing"
}
[Trace - 21:36:48] Sending response 'window/workDoneProgress/create - (15)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "begin",
"title": "Indexing",
"cancellable": false,
"percentage": 0
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "0/16 (core + 1 more)",
"percentage": 0
}
}
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "1/16 (core)",
"percentage": 6
}
}
[Trace - 21:36:48] Received request 'window/workDoneProgress/create - (16)'.
Params: {
"token": "rust-analyzer/flycheck/0"
}
[Trace - 21:36:48] Sending response 'window/workDoneProgress/create - (16)'. Processing request took 0ms
No result returned.
[Trace - 21:36:48] Received notification '$/progress'.
Params: {
"token": "rust-analyzer/flycheck/0",
"value": {
"kind": "begin",
"title": "cargo check",
"cancellable": true
}
}
[Trace - 21:36:49] Sending notification '$/cancelRequest'.
Params: {
"id": 6
}
[Trace - 21:36:49] Sending request 'textDocument/codeLens - (7)'.
Params: {
"textDocument": {
"uri": "file:///d%3A/code/rust/xernel/xernel/kernel/src/main.rs"
}
}
[Trace - 21:36:49] Received response 'textDocument/codeLens - (6)' in 704ms. Request failed: canceled by client (-32800).
[Trace - 21:36:52] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"percentage": 12
}
}
[Trace - 21:36:52] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "2/16 (alloc)",
"percentage": 12
}
}
[Trace - 21:36:52] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"percentage": 18
}
}
[Trace - 21:36:52] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "3/16 (std)",
"percentage": 18
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"percentage": 25
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "4/16 (proc_macro)",
"percentage": 25
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"percentage": 31
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "5/16 (x86_64 + 3 more)",
"percentage": 31
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "6/16 (x86_64 + 3 more)",
"percentage": 37
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "7/16 (x86_64 + 3 more)",
"percentage": 43
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "8/16 (x86_64 + 3 more)",
"percentage": 50
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "9/16 (x86_64 + 3 more)",
"percentage": 56
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "10/16 (x86_64 + 3 more)",
"percentage": 62
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "11/16 (x86_64 + 3 more)",
"percentage": 68
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "12/16 (x86_64 + 2 more)",
"percentage": 75
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "12/16 (x86_64 + 3 more)",
"percentage": 75
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "13/16 (x86_64 + 2 more)",
"percentage": 81
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "14/16 (x86_64 + 1 more)",
"percentage": 87
}
}
[Trace - 21:36:53] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"message": "15/16 (x86_64)",
"percentage": 93
}
}
[Trace - 21:36:54] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "report",
"cancellable": false,
"percentage": 100
}
}
[Trace - 21:36:54] Received notification '$/progress'.
Params: {
"token": "rustAnalyzer/Indexing",
"value": {
"kind": "end"
}
}
[Trace - 21:36:54] Received response 'textDocument/codeLens - (7)' in 5084ms.
Result: []
[Trace - 21:36:56] Received notification 'textDocument/publishDiagnostics'.
Params: {
"uri": "file:///d:/code/rust/xernel/xernel/kernel/src/sched/scheduler.rs",
"diagnostics": [],
"version": 1
}
[Trace - 21:36:56] Received notification 'textDocument/publishDiagnostics'.
Params: {
"uri": "file:///d:/code/rust/xernel/xernel/kernel/src/main.rs",
"diagnostics": [],
"version": 1
}
[Trace - 21:37:10] Received notification '$/progress'.
Params: {
"token": "rust-analyzer/flycheck/0",
"value": {
"kind": "end"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment