mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-21 16:37:48 +00:00
Commit Graph
Select branches
Hide Pull Requests
code-heap-old
edition-3
edition-3-uefi-app
main
post-01
post-02
post-03
post-04
post-04-no-more-bootimage
post-05
post-06
post-06-stack-align
post-07
post-08
post-09
post-10
post-11
post-12
post-12-async-await
post-12-new-bootloader
post-12-scancode-stream
post-12-test-default-handler
post-12-wip
post-12-wip2
post-3.1
post-3.2
post-3.3
rust-wip
threads
#1
#100
#1007
#1010
#102
#1021
#1023
#1024
#1026
#1028
#1029
#103
#1031
#1032
#1034
#1035
#1036
#1039
#1039
#1040
#1046
#105
#1051
#1053
#1054
#1055
#1056
#1057
#1058
#1059
#106
#1060
#1061
#1067
#107
#107
#1072
#1073
#1077
#1078
#1079
#108
#1080
#1082
#1083
#1089
#1090
#1091
#1093
#1094
#1095
#1096
#1099
#1101
#1103
#1105
#1106
#1107
#1108
#1109
#1109
#1110
#1111
#1112
#1113
#1114
#1116
#1117
#1118
#112
#1120
#1121
#1122
#1123
#1127
#1129
#1130
#1131
#1135
#114
#1141
#1142
#1144
#1146
#1147
#1148
#1149
#115
#1150
#1151
#1154
#1154
#1159
#1162
#1163
#1166
#1167
#1175
#1176
#1177
#1178
#1180
#1182
#1182
#1185
#1185
#1187
#1188
#1189
#119
#1190
#1193
#12
#120
#1207
#1209
#121
#1210
#1211
#1216
#1217
#1218
#1219
#122
#1223
#1226
#123
#1230
#1232
#1232
#1234
#1235
#1237
#1242
#125
#1252
#1253
#1254
#1257
#1262
#1265
#1266
#1269
#127
#1270
#1271
#1272
#1272
#1274
#1275
#1276
#1281
#1283
#1285
#1286
#1287
#1288
#1289
#129
#1291
#1295
#1296
#1298
#1299
#130
#1306
#1309
#131
#1311
#1312
#1320
#1321
#1322
#1323
#1324
#1328
#1333
#1336
#1340
#1345
#1346
#1347
#1349
#135
#1356
#1359
#1359
#1368
#1369
#1369
#1376
#1377
#138
#1386
#139
#1393
#1399
#14
#1405
#1406
#1407
#1409
#141
#1410
#1412
#1414
#1419
#1420
#1422
#1425
#1426
#1427
#1428
#1429
#143
#1430
#1432
#1434
#1435
#1436
#1437
#1438
#1439
#1440
#1443
#1444
#1447
#146
#146
#147
#148
#15
#150
#152
#153
#154
#156
#157
#158
#159
#161
#162
#162
#163
#164
#165
#166
#169
#170
#171
#172
#173
#174
#176
#177
#178
#18
#180
#182
#182
#183
#185
#186
#187
#188
#189
#190
#191
#192
#193
#194
#195
#196
#197
#201
#202
#203
#204
#206
#207
#208
#209
#21
#210
#212
#213
#216
#217
#218
#219
#22
#221
#223
#228
#229
#23
#230
#232
#233
#235
#236
#239
#24
#242
#244
#245
#245
#246
#247
#249
#250
#251
#252
#253
#254
#256
#257
#258
#259
#26
#262
#265
#266
#267
#27
#270
#272
#275
#276
#278
#279
#28
#281
#282
#285
#286
#287
#287
#289
#29
#290
#291
#292
#296
#297
#299
#3
#30
#301
#305
#306
#307
#31
#310
#311
#317
#318
#319
#32
#320
#325
#326
#33
#330
#333
#334
#336
#338
#339
#34
#340
#346
#347
#348
#35
#354
#355
#36
#361
#364
#366
#367
#372
#373
#375
#376
#378
#378
#38
#380
#381
#383
#385
#387
#389
#39
#390
#392
#393
#394
#395
#396
#396
#397
#398
#398
#399
#4
#40
#400
#401
#402
#404
#404
#407
#41
#412
#413
#415
#416
#417
#42
#421
#421
#423
#424
#425
#426
#427
#428
#43
#431
#432
#433
#433
#434
#435
#437
#438
#439
#44
#440
#441
#442
#444
#446
#447
#448
#45
#454
#455
#457
#458
#460
#461
#461
#462
#463
#467
#468
#471
#472
#473
#474
#475
#476
#477
#478
#482
#483
#484
#485
#486
#487
#488
#489
#49
#490
#491
#492
#493
#494
#495
#496
#497
#498
#5
#50
#501
#502
#503
#504
#506
#51
#510
#515
#516
#517
#518
#52
#521
#524
#526
#527
#529
#530
#531
#532
#534
#535
#536
#538
#539
#54
#540
#544
#546
#548
#550
#551
#552
#553
#554
#555
#557
#559
#56
#561
#562
#563
#564
#565
#566
#567
#568
#569
#57
#575
#577
#578
#579
#58
#580
#582
#583
#584
#585
#586
#587
#588
#59
#590
#592
#594
#595
#596
#597
#598
#599
#60
#600
#601
#604
#605
#606
#607
#608
#609
#61
#610
#611
#614
#616
#617
#619
#62
#620
#623
#625
#626
#628
#633
#634
#635
#638
#643
#644
#646
#647
#648
#65
#650
#651
#653
#654
#655
#658
#659
#660
#661
#662
#663
#664
#665
#666
#667
#668
#669
#67
#670
#673
#674
#675
#677
#678
#679
#68
#680
#682
#685
#687
#688
#689
#69
#69
#690
#691
#692
#693
#694
#695
#699
#7
#70
#700
#701
#702
#703
#704
#705
#708
#709
#71
#711
#712
#714
#715
#716
#719
#72
#721
#722
#723
#725
#726
#727
#728
#729
#732
#733
#734
#735
#738
#739
#740
#745
#747
#748
#749
#75
#750
#751
#752
#755
#755
#756
#758
#759
#76
#760
#763
#764
#765
#766
#767
#769
#77
#771
#772
#773
#774
#775
#778
#779
#780
#781
#782
#783
#784
#786
#787
#788
#789
#79
#791
#794
#799
#8
#80
#802
#804
#805
#806
#808
#809
#81
#81
#810
#813
#816
#817
#818
#819
#82
#820
#821
#822
#826
#827
#828
#83
#833
#834
#835
#836
#838
#84
#841
#842
#843
#845
#846
#849
#85
#850
#854
#855
#856
#857
#858
#859
#86
#860
#861
#864
#865
#866
#867
#868
#869
#87
#870
#871
#873
#875
#877
#878
#88
#880
#883
#887
#888
#890
#893
#894
#896
#897
#898
#899
#90
#900
#901
#903
#904
#905
#907
#909
#91
#910
#912
#913
#917
#919
#920
#921
#922
#926
#927
#928
#932
#935
#941
#943
#947
#948
#949
#950
#951
#952
#953
#954
#955
#956
#957
#958
#959
#96
#960
#962
#963
#964
#965
#967
#97
#974
#977
#978
#981
#983
#984
#985
#986
#987
#988
#989
#99
#990
#993
#996
better_exception_messages
catching_exceptions
first_edition_post_1
first_edition_post_10
first_edition_post_2
first_edition_post_3
first_edition_post_4
first_edition_post_5
first_edition_post_6
first_edition_post_7
first_edition_post_8
first_edition_post_9
returning_from_exceptions
Select branches
Hide Pull Requests
code-heap-old
edition-3
edition-3-uefi-app
main
post-01
post-02
post-03
post-04
post-04-no-more-bootimage
post-05
post-06
post-06-stack-align
post-07
post-08
post-09
post-10
post-11
post-12
post-12-async-await
post-12-new-bootloader
post-12-scancode-stream
post-12-test-default-handler
post-12-wip
post-12-wip2
post-3.1
post-3.2
post-3.3
rust-wip
threads
#1
#100
#1007
#1010
#102
#1021
#1023
#1024
#1026
#1028
#1029
#103
#1031
#1032
#1034
#1035
#1036
#1039
#1039
#1040
#1046
#105
#1051
#1053
#1054
#1055
#1056
#1057
#1058
#1059
#106
#1060
#1061
#1067
#107
#107
#1072
#1073
#1077
#1078
#1079
#108
#1080
#1082
#1083
#1089
#1090
#1091
#1093
#1094
#1095
#1096
#1099
#1101
#1103
#1105
#1106
#1107
#1108
#1109
#1109
#1110
#1111
#1112
#1113
#1114
#1116
#1117
#1118
#112
#1120
#1121
#1122
#1123
#1127
#1129
#1130
#1131
#1135
#114
#1141
#1142
#1144
#1146
#1147
#1148
#1149
#115
#1150
#1151
#1154
#1154
#1159
#1162
#1163
#1166
#1167
#1175
#1176
#1177
#1178
#1180
#1182
#1182
#1185
#1185
#1187
#1188
#1189
#119
#1190
#1193
#12
#120
#1207
#1209
#121
#1210
#1211
#1216
#1217
#1218
#1219
#122
#1223
#1226
#123
#1230
#1232
#1232
#1234
#1235
#1237
#1242
#125
#1252
#1253
#1254
#1257
#1262
#1265
#1266
#1269
#127
#1270
#1271
#1272
#1272
#1274
#1275
#1276
#1281
#1283
#1285
#1286
#1287
#1288
#1289
#129
#1291
#1295
#1296
#1298
#1299
#130
#1306
#1309
#131
#1311
#1312
#1320
#1321
#1322
#1323
#1324
#1328
#1333
#1336
#1340
#1345
#1346
#1347
#1349
#135
#1356
#1359
#1359
#1368
#1369
#1369
#1376
#1377
#138
#1386
#139
#1393
#1399
#14
#1405
#1406
#1407
#1409
#141
#1410
#1412
#1414
#1419
#1420
#1422
#1425
#1426
#1427
#1428
#1429
#143
#1430
#1432
#1434
#1435
#1436
#1437
#1438
#1439
#1440
#1443
#1444
#1447
#146
#146
#147
#148
#15
#150
#152
#153
#154
#156
#157
#158
#159
#161
#162
#162
#163
#164
#165
#166
#169
#170
#171
#172
#173
#174
#176
#177
#178
#18
#180
#182
#182
#183
#185
#186
#187
#188
#189
#190
#191
#192
#193
#194
#195
#196
#197
#201
#202
#203
#204
#206
#207
#208
#209
#21
#210
#212
#213
#216
#217
#218
#219
#22
#221
#223
#228
#229
#23
#230
#232
#233
#235
#236
#239
#24
#242
#244
#245
#245
#246
#247
#249
#250
#251
#252
#253
#254
#256
#257
#258
#259
#26
#262
#265
#266
#267
#27
#270
#272
#275
#276
#278
#279
#28
#281
#282
#285
#286
#287
#287
#289
#29
#290
#291
#292
#296
#297
#299
#3
#30
#301
#305
#306
#307
#31
#310
#311
#317
#318
#319
#32
#320
#325
#326
#33
#330
#333
#334
#336
#338
#339
#34
#340
#346
#347
#348
#35
#354
#355
#36
#361
#364
#366
#367
#372
#373
#375
#376
#378
#378
#38
#380
#381
#383
#385
#387
#389
#39
#390
#392
#393
#394
#395
#396
#396
#397
#398
#398
#399
#4
#40
#400
#401
#402
#404
#404
#407
#41
#412
#413
#415
#416
#417
#42
#421
#421
#423
#424
#425
#426
#427
#428
#43
#431
#432
#433
#433
#434
#435
#437
#438
#439
#44
#440
#441
#442
#444
#446
#447
#448
#45
#454
#455
#457
#458
#460
#461
#461
#462
#463
#467
#468
#471
#472
#473
#474
#475
#476
#477
#478
#482
#483
#484
#485
#486
#487
#488
#489
#49
#490
#491
#492
#493
#494
#495
#496
#497
#498
#5
#50
#501
#502
#503
#504
#506
#51
#510
#515
#516
#517
#518
#52
#521
#524
#526
#527
#529
#530
#531
#532
#534
#535
#536
#538
#539
#54
#540
#544
#546
#548
#550
#551
#552
#553
#554
#555
#557
#559
#56
#561
#562
#563
#564
#565
#566
#567
#568
#569
#57
#575
#577
#578
#579
#58
#580
#582
#583
#584
#585
#586
#587
#588
#59
#590
#592
#594
#595
#596
#597
#598
#599
#60
#600
#601
#604
#605
#606
#607
#608
#609
#61
#610
#611
#614
#616
#617
#619
#62
#620
#623
#625
#626
#628
#633
#634
#635
#638
#643
#644
#646
#647
#648
#65
#650
#651
#653
#654
#655
#658
#659
#660
#661
#662
#663
#664
#665
#666
#667
#668
#669
#67
#670
#673
#674
#675
#677
#678
#679
#68
#680
#682
#685
#687
#688
#689
#69
#69
#690
#691
#692
#693
#694
#695
#699
#7
#70
#700
#701
#702
#703
#704
#705
#708
#709
#71
#711
#712
#714
#715
#716
#719
#72
#721
#722
#723
#725
#726
#727
#728
#729
#732
#733
#734
#735
#738
#739
#740
#745
#747
#748
#749
#75
#750
#751
#752
#755
#755
#756
#758
#759
#76
#760
#763
#764
#765
#766
#767
#769
#77
#771
#772
#773
#774
#775
#778
#779
#780
#781
#782
#783
#784
#786
#787
#788
#789
#79
#791
#794
#799
#8
#80
#802
#804
#805
#806
#808
#809
#81
#81
#810
#813
#816
#817
#818
#819
#82
#820
#821
#822
#826
#827
#828
#83
#833
#834
#835
#836
#838
#84
#841
#842
#843
#845
#846
#849
#85
#850
#854
#855
#856
#857
#858
#859
#86
#860
#861
#864
#865
#866
#867
#868
#869
#87
#870
#871
#873
#875
#877
#878
#88
#880
#883
#887
#888
#890
#893
#894
#896
#897
#898
#899
#90
#900
#901
#903
#904
#905
#907
#909
#91
#910
#912
#913
#917
#919
#920
#921
#922
#926
#927
#928
#932
#935
#941
#943
#947
#948
#949
#950
#951
#952
#953
#954
#955
#956
#957
#958
#959
#96
#960
#962
#963
#964
#965
#967
#97
#974
#977
#978
#981
#983
#984
#985
#986
#987
#988
#989
#99
#990
#993
#996
better_exception_messages
catching_exceptions
first_edition_post_1
first_edition_post_10
first_edition_post_2
first_edition_post_3
first_edition_post_4
first_edition_post_5
first_edition_post_6
first_edition_post_7
first_edition_post_8
first_edition_post_9
returning_from_exceptions
-
2f30a0df56
Delete old heap allocator
Philipp Oppermann
2018-02-27 16:05:04 +01:00 -
73663150f8
Make image alt texts grey and italic
Philipp Oppermann
2018-02-27 15:42:59 +01:00 -
21f409625b
Add "read more" links on frontpage
Philipp Oppermann
2018-02-27 15:33:52 +01:00 -
fe472d3412
Adjust order number of first two posts
Philipp Oppermann
2018-02-26 19:02:31 +01:00 -
2671fac8c2
Rename first first-edition post to “Minimal Multiboot Kernel“
Philipp Oppermann
2018-02-12 12:44:01 +01:00 -
c157c91075
Merge pull request #393 from phil-opp/improvements
Philipp Oppermann
2018-02-25 16:59:56 +01:00 -
9208ae18ce
Explain shortly how the bootimage tool works
Philipp Oppermann
2018-02-25 16:00:14 +01:00 -
4281f0e261
Minor improvements
Philipp Oppermann
2018-02-25 15:31:29 +01:00 -
7d04bdea1b
Reformulate the drawbacks of the multiboot standard
Philipp Oppermann
2018-02-25 15:05:02 +01:00 -
bd1cf20f05
Improve wording
Philipp Oppermann
2018-02-25 14:46:35 +01:00 -
1cdc010446
Fix: Change
"panic"to"panic-strategy"(#392)Toothbrush
2018-02-20 21:10:05 +00:00 -
07553ed219
Nitpicks for second article (#390)
Andre Richter
2018-02-14 11:39:08 +01:00 -
3a8de6cdec
Bors: Add netlify to required status set and delete merged branches
Philipp Oppermann
2018-02-12 12:59:57 +01:00 -
71778d7a42
Remove BootInfo parameter from second post code example
Philipp Oppermann
2018-02-12 12:46:32 +01:00 -
384f6c2420
Corrections from proof read (#389)
Andre Richter
2018-02-12 12:37:26 +01:00 -
65c63a77b2
Merge #387
bors[bot]
2018-02-10 18:22:17 +00:00 -
325f1f2756
Fix date of new post
Philipp Oppermann
2018-02-10 17:31:15 +01:00 -
8848f4c139
Git ignore bootimage.bin
Philipp Oppermann
2018-02-10 17:30:23 +01:00 -
00b3adfe82
Merge #385
bors[bot]
2018-02-10 15:58:25 +00:00 -
b2285f762c
Add a “first-edition” section
Philipp Oppermann
2018-02-10 16:52:29 +01:00 -
dc50747c78
Link to the github issue from the UEFI section
Philipp Oppermann
2018-02-10 16:09:22 +01:00 -
56be17ab80
Add paragraph about Multiboot
Philipp Oppermann
2018-02-10 16:04:27 +01:00 -
254d5476b1
Update Linux/Windows/Mac entry points
Philipp Oppermann
2018-02-09 15:47:59 +01:00 -
5e96335c23
Add instructions for running in QEMU, VirtualBox, and on real hardware
Philipp Oppermann
2018-02-08 22:59:34 +01:00 -
7be59b571d
Use static and for loop for printing Hello World
Philipp Oppermann
2018-02-08 22:59:00 +01:00 -
cef44163bc
Remove/resolve some todos
Philipp Oppermann
2018-02-05 18:25:31 +01:00 -
7d55dda917
Add extra posts about disabling red zone and SIMD and installing LLD
Philipp Oppermann
2018-02-05 12:24:21 +01:00 -
8a75c2828e
More work on minimal kernel post
Philipp Oppermann
2018-02-05 12:23:40 +01:00 -
9bb456ed2f
Add support for bors.ng
Philipp Oppermann
2018-02-04 17:35:28 +01:00 -
bff0c4401c
Print “Hello” instead of “OK”
Philipp Oppermann
2018-02-04 00:14:13 +01:00 -
9fc0a07453
Fix offset typo
Philipp Oppermann
2018-02-03 23:30:26 +01:00 -
eb688962a1
Rewrite first post to work on Windows too
Philipp Oppermann
2018-02-03 22:53:16 +01:00 -
c266193a34
We do not need separate “Intoduction” and “Booting” posts
Philipp Oppermann
2018-02-03 14:14:06 +01:00 -
244dd16819
Add appveyor configuration
Philipp Oppermann
2018-02-02 13:50:49 +01:00 -
7d7b94804b
Rewrite .travis.yml for second edition
Philipp Oppermann
2018-02-02 13:35:50 +01:00 -
8f69dfa6a2
Use lld for linking
Philipp Oppermann
2018-02-03 01:32:17 +01:00 -
734310ff0d
Allow executables for x86_64-blog_os target
Philipp Oppermann
2018-02-02 13:44:17 +01:00 -
5823bcb7ab
Initial code for second edition
Philipp Oppermann
2018-02-02 13:35:36 +01:00 -
2629945c72
Delete code from first edition
Philipp Oppermann
2018-02-02 13:27:46 +01:00 -
f5797b7fd2
Begin post about creating a minimal Rust kernel
Philipp Oppermann
2018-01-31 01:46:07 +01:00 -
082c9f0f4f
New favicon
Philipp Oppermann
2018-02-02 13:21:34 +01:00 -
7f3de8dcb4
Update to gutenberg 0.3.0
Philipp Oppermann
2018-01-28 20:01:35 +01:00 -
abc9f350d2
Use utterances for comments on second edition posts
Philipp Oppermann
2018-01-19 14:49:40 +01:00 -
d38e97ee0b
Link to #id instead of permalink in TOC
Philipp Oppermann
2018-01-19 14:33:49 +01:00 -
25441a8773
Use absolute
paths instead ofpermalinkPhilipp Oppermann
2018-01-19 14:20:20 +01:00 -
7a263355f3
Add custom templates for second edition posts
Philipp Oppermann
2017-10-10 12:34:10 +02:00 -
75b4e09c4e
Make page title an h1 for semantics
Philipp Oppermann
2017-10-10 12:29:10 +02:00 -
9d32d49488
Begin new post about freestanding executables
Philipp Oppermann
2017-10-05 17:01:09 +02:00 -
3f4a4bf2e1
Create utterances.json
Philipp Oppermann
2018-01-19 14:49:04 +01:00 -
8ce22720c6
Try to fix travis build by also caching .xargo directory
Philipp Oppermann
2018-01-09 19:08:59 +01:00 -
651a33a98d
Fix eh_personality reference error (#383)
bissonex
2018-01-09 13:07:19 -05:00 -
b188e8a617
Allow users to use latest nightly compiler without manually setting environment variable (#381)
Rob Gries
2018-01-02 12:11:38 -05:00 -
3523fdfbb5
Workaround for xargo issue (#380)
Rob Gries
2017-12-27 05:48:02 -06:00 -
f7868a1bd8
Use proper size for heap init (#376)
Rob Gries
2017-12-15 04:06:57 -05:00 -
5e937e6e20
Panic on alloc::oom instead of calling intrinsics::abort (#375)
Rob Gries
2017-12-15 03:20:50 -05:00 -
2e8da22b32
Docker: Add a Dockerfile and Makefile targets (#373)
Patrik
2017-12-09 17:34:22 +01:00 -
cf2c5550aa
Fix sign extension bug in
next_table_address(#372)Isaac Woods
2017-12-05 19:22:29 +00:00 -
0a583ca73b
Add fish script for helping with rebasing of post_* tags
Philipp Oppermann
2017-11-19 15:53:08 +01:00 -
5ad167c45d
Merge pull request #367 from phil-opp/allocator-post-update
Philipp Oppermann
2017-11-19 15:35:09 +01:00 -
e89e4f5277
Rewrite bump allocator and integrate it in main crate
Philipp Oppermann
2017-11-19 15:17:14 +01:00 -
8fb813a09d
Rewrite “Kernel Heap” to use the new allocator API
Philipp Oppermann
2017-11-16 18:02:25 +01:00 -
7f6576c9dc
Set the stack index of the double fault IDT entry
first_edition_post_10
Philipp Oppermann
2017-04-19 12:16:43 +02:00 -
aa8028cf6c
Reload cs register and load TSS
Philipp Oppermann
2017-04-19 12:15:52 +02:00 -
165054d12a
Create and load a static TSS and GDT
Philipp Oppermann
2017-04-19 12:12:16 +02:00 -
58e90d497e
Add a Gdt::load method
Philipp Oppermann
2017-04-19 12:10:03 +02:00 -
238cc575c3
Add a Gdt::add_entry method
Philipp Oppermann
2017-04-19 12:09:27 +02:00 -
d2060e76f8
Create a GDT descriptor struct
Philipp Oppermann
2017-04-19 12:08:08 +02:00 -
f651987666
Add a dependency on bit_field
Philipp Oppermann
2017-04-19 12:07:02 +02:00 -
eea8c10a97
Create a interrupts::gdt submodule
Philipp Oppermann
2017-04-18 18:25:32 +02:00 -
e1d2af5ea7
Rename interrupts.rs to interrupts/mod.rs
Philipp Oppermann
2017-04-18 18:24:29 +02:00 -
a05db759d7
Create a TSS and save the double fault stack pointer it its IST
Philipp Oppermann
2017-04-18 18:21:45 +02:00 -
00bbd6fbc6
Pass the memory controller to interrupts::init and use it to create a double fault stack
Philipp Oppermann
2017-04-18 18:20:15 +02:00 -
f1459a552c
Return a memory controller from memory::init
Philipp Oppermann
2017-04-18 18:18:18 +02:00 -
73d4390f27
Create a memory manager for convenience
Philipp Oppermann
2017-04-18 18:17:02 +02:00 -
0e3857ca50
Create a stack allocator module
Philipp Oppermann
2017-04-18 18:16:03 +02:00 -
3efe54169e
Provoke a stack overflow, which still causes a boot loop
Philipp Oppermann
2017-04-18 18:13:05 +02:00 -
2b9d880e48
Add a double fault handler
Philipp Oppermann
2017-04-18 18:11:52 +02:00 -
91ffde4728
Trigger a double fault by causing a page fault
Philipp Oppermann
2017-04-18 18:10:23 +02:00 -
590b2fd1b0
Update Readme for “Double Faults” post
Philipp Oppermann
2017-04-18 15:21:11 +02:00 -
93aff8cfa8
Test our exception handler by invoking a breakpoint exception
first_edition_post_9
Philipp Oppermann
2017-04-18 15:17:43 +02:00 -
fab320271a
Create and load an IDT
Philipp Oppermann
2017-04-18 15:16:26 +02:00 -
7becaf5f30
Add a dependency on lazy_static
Philipp Oppermann
2017-04-18 15:15:44 +02:00 -
3bbc2a0bdc
Add a simple handler function for the breakpoint exception
Philipp Oppermann
2017-04-18 15:14:27 +02:00 -
c2d22af1c7
Create a new interrupts module
Philipp Oppermann
2017-04-18 15:09:03 +02:00 -
0ddd214a1b
Update Readme for “Handling Exceptions” post
Philipp Oppermann
2017-04-18 15:07:10 +02:00 -
ad211de615
Use linked list allocator instead of bump allocator
first_edition_post_8
Philipp Oppermann
2017-11-19 14:16:33 +01:00 -
01f8c43ffb
Map the heap pages to physical frames
Philipp Oppermann
2017-11-19 13:25:39 +01:00 -
f2bbe43099
Use once crate to ensure that memory::init is only called once
Philipp Oppermann
2017-11-19 13:19:17 +01:00 -
76550dcd95
Refactor: Move memory initialization to memory::init function
Philipp Oppermann
2017-11-19 13:16:33 +01:00 -
c0d403abbe
Set a global allocator
Philipp Oppermann
2017-11-19 13:13:18 +01:00 -
9dc998222a
Make the bump allocator lock free and impl Alloc for shared reference
Philipp Oppermann
2017-11-19 12:54:47 +01:00 -
1f6633fe44
Add a heap_allocator module with a basic bump allocator
Philipp Oppermann
2017-11-19 12:50:16 +01:00 -
5f017124dd
Add a dependency on the alloc crate
Philipp Oppermann
2017-11-19 12:41:20 +01:00 -
36369cfbe2
Update Readme for “Kernel Heap” post
Philipp Oppermann
2017-04-18 12:38:25 +02:00 -
c6dd37dcc5
Turn page of old P4 into guard page
first_edition_post_7
Philipp Oppermann
2017-04-18 12:35:19 +02:00 -
2a3ce863fd
Enable write protect bit to improve safety
Philipp Oppermann
2017-04-18 12:33:53 +02:00 -
ffaddeb84e
Fix boot loop by enabling the NXE bit in the EFER register
Philipp Oppermann
2017-04-18 12:32:59 +02:00 -
0ce2b46ad1
Use the correct entry flags for kernel sections
Philipp Oppermann
2017-04-18 12:31:02 +02:00 -
11993b7e15
Also identity map the multiboot info structure
Philipp Oppermann
2017-04-18 12:28:59 +02:00 -
fdacfb24f0
Fix boot loop by identity mapping the vga buffer
Philipp Oppermann
2017-04-18 12:27:24 +02:00