OSDev.org
https://forum.osdev.org/

Go Bare Bones tutorial contains outdated information.
https://forum.osdev.org/viewtopic.php?f=8&t=30401
Page 1 of 1

Author:  pjmlp [ Fri May 27, 2016 12:28 pm ]
Post subject:  Go Bare Bones tutorial contains outdated information.

Hi,

while searching for information related to bare metal Go uses, I discovered the Go Bare Bones tutorial.

It contains incorrect information regarding pointer arithmetic in Go.

Quote:
# Go doesn't allow you to directly access memory or use pointers. A trick to get
# around this is to have a function that takes a 32bit value and returns it.
# Take a look at 'terminal.go' to see how we use this to access video memory.


Which is false, and there is actually another example which makes use of the way Go allows for pointer use

Code:
func terminalPutEntryAt(c byte, color uint8, x uint8, y uint8){
  index := y * VGA_WIDTH + x
  addr := (*uint16)(unsafe.Pointer(buffer + 2 * uintptr(index)))
  *addr = makeVGAEntry(c, color)
}


Taken from https://github.com/jjyr/bootgo/blob/master/kernel.go

So I would like to make the Wiki reflect the right way of using Go features.

What is the Wiki update process?

Author:  kzinti [ Fri May 27, 2016 12:44 pm ]
Post subject:  Re: Go Bare Bones tutorial contains outdated information.

pjmlp wrote:
What is the Wiki update process?


You edit it.

Author:  SpyderTL [ Fri May 27, 2016 2:19 pm ]
Post subject:  Re: Go Bare Bones tutorial contains outdated information.

The whole point of a wiki (like Wikipedia, for instance) is that anyone can edit it, and anyone else can change it back if your edit is wrong, in some way.

Your forum login and password should work on the Wiki site as well, if you have joined the Wiki group.

Details can be found here: viewtopic.php?f=8&t=677

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/